我在我的app.js中有一個名爲UserService的工廠,它爲我執行所有用戶HTTP請求。處理成功/錯誤響應http請求angularjs
當我嘗試創建一個用戶時,我有以下方法。
function create(user) {
return $http.post(envService.read('apiUrl') + '/auth/register', user).then(handleSuccess, handleError('Error creating user'));
}
然後在我的控制我做這樣的事情:
function register() {
vm.dataLoading = true;
UserService.create(vm.user).then(function successCallback(response) {
$location.path('/');
Flash.create('success', response.message);
}, function errorCallback(error) {
Flash.create('danger', error);
vm.dataLoading = false;
});
}
函數來處理成功和錯誤
// private functions
function handleSuccess(res) {
return res.data;
}
function handleError(error) {
return function() {
return { success: false, message: error };
};
}
然而,它總是進入成功回調即使響應代碼是403或其他導致錯誤的其他內容。我在這裏做錯了什麼?
你'handleError'被立即調用。 'then'的參數必須是函數 – charlietfl
'post'看起來應該不是這樣嗎? }'return $ http.post(envService.read('apiUrl')+'/ auth/register',user).then(handleSuccess,function(){handleError('Error creating user')});' – Nope
@Fran那些是jQuery'$ .ajax'回調 – charlietfl