Prima di tutto, il tuo server dovrebbe restituire errori con pertinente Codici di stato dell'errore HTTP (Vedi codici 4xx e 5xx). In questo modo, gestisci solo errori nel callback di errore:
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;
}
}
Detto questo, se $ Scope.user è un $ istanza delle risorse, quindi non è necessario ottenerlo di nuovo dal server, il metodo $ save () non cambierà l'oggetto.
Per copiare i valori dall'oggetto "utente" recuperato dal server in $ APPE.USER Basta utilizzare Angular.extend ()
angular.extend($scope.user, data) //this updates $scope.user with data attributes.
Vale la pena notare che angular.extend
non esegue una copia profonda, se necessario, utilizzare jQuery.extend:
jQuery.extend(true, $scope.user, data)