Tout d'abord, votre serveur doit renvoyer les erreurs avec pertinent Codes d'état d'erreur HTTP (Voir codes 4xx et 5xx). De cette façon, vous ne gérez que des erreurs dans le rappel d'erreur:
function onError (response){
switch (response.status) {
case 400:
case 404:
//etc...
response.data.errors.forEach(function(error){
$scope.alerts.push({type:'danger', msg: error.msg});
});
break;
case 500:
$scope.alerts.push({type:'danger', msg: "There was a problem saving your data: " + response.data});
break;
}
}
Cela dit, si $ scope.User est un $ instance de ressource, alors vous n'avez pas à l'obtenir à nouveau à partir du serveur, la méthode $ sauve () ne modifiera pas l'objet.
Pour copier les valeurs de l'objet «utilisateur» récupéré du serveur dans le $ Scope.User utilise simplement angular.extend ()
angular.extend($scope.user, data) //this updates $scope.user with data attributes.
Vaut la peine de noter que angular.extend
n'effectue pas de copie profonde, si nécessaire, utilise jQuery.extend:
jQuery.extend(true, $scope.user, data)