0
我都內置了Laravel的API,它的格式返回JSON像這樣的:
{
"data":{
"errors":{
"username":"The username has already been taken.",
"email":"The email has already been taken."
}
},
"success":true,
"status":400
}
在這種情況下,我試圖創建一個用戶以用戶名和已經存在的電子郵件地址。這是我用我的控制器內的該角$資源代碼:
var user = new User({
username: $scope.user.username,
email: $scope.user.email,
password: $scope.user.password
});
var response = user.$save(function(data) {
console.log(data);
}, function(data) {
if (data.status === 400) {
angular.forEach(data.data.data.errors, function(error) {
console.log(error);
});
}
});
那麼這是什麼做的是發送POST請求/users
的API,如果它回來與非200狀態代碼,它檢查它是否是一個400代碼,這意味着驗證錯誤和console.log
'這些錯誤消息。果然,我將錯誤消息輸出到控制檯。
我想知道的是,如果有比data.data.data.errors
更好的方式來訪問錯誤消息。由於API將響應數據包裝在data
字段中,並且Angular返回請求的$resource
而不是實際的服務器響應,因此會導致用於獲取錯誤消息的相當難看的數量的屬性。
有沒有更好的方法來做到這一點?