Zunächst sollte Ihr Server Fehler mit relevantem zurückgeben HTTP -Fehlerstatuscodes (Siehe 4xx- und 5xx -Codes). Auf diese Weise behandeln Sie nur Fehler im Fehlerrückruf:
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;
}
}
Das heißt, wenn $ scope.user a ist $ ressourceninstanz, Dann müssen Sie es nicht erneut vom Server abholen, die Methode $ Save () ändert das Objekt nicht.
Um Werte aus dem vom Server abgerufenen Objekt "Benutzer" in den $ scope zu kopieren. Angular.extend ()
angular.extend($scope.user, data) //this updates $scope.user with data attributes.
Ist erwähnenswert angular.extend
Führen Sie bei Bedarf keine tiefe Kopie durch, verwenden Sie bei Bedarf keine jQuery.extend:
jQuery.extend(true, $scope.user, data)