Прежде всего, ваш сервер должен вернуть ошибки с релевантными Коды состояния ошибок HTTP (См. Коды 4xx и 5xx). Таким образом, вы обрабатываете только ошибки в обратном вызове ошибки:
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;
}
}
Тем не менее, если $ scope.user - это $ Ресурс экземпляр, Тогда вам не нужно получить его снова с сервера, метод $ save () не изменит объект.
Чтобы копировать значения из объекта «пользователя», полученного с сервера в $ scope.user просто используйте Angular.Extend ()
angular.extend($scope.user, data) //this updates $scope.user with data attributes.
Стоит отметить, что angular.extend
не выполняет глубокую копию, если необходимо, используйте jquery.extend:
jQuery.extend(true, $scope.user, data)