我在我的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