我在AngularJs中创建了一个项目进行学习,但我发现了一个错误:
错误:$ http.post(...)。成功不是一个功能 authFactory.login@http://localhost:3000/app/services/authService.js:8:10 vm.doLogin @ http://localhost:3000/app/controllers/mainController.js:20:3
下面的代码
控制器
vm.doLogin = function(){
vm.processing = true;
vm.error = '';
Auth.login(vm.loginData.username, vm.loginData.password)
.success(function(data){
vm.processing = false;
Auth.getUser().then(function(data){
vm.user = data.data;
});
if (data.success) {
$location.path('/');
}else{
vm.error = data.message;
}
});
}
服务
authFactory.login = function(username, password){
return $http.post('/api/login',{
username: username,
password: password
})
.success(function(data){
AuthToken.setToken(data.token);
return data;
})
},
感谢您的聆听。
答案 0 :(得分:0)
authFactory.login = function(username, password){
$http.post('/api/login',{
username: username,
password: password
}).then(function success(data){
//Some code for success.
}, function error(err){
console.log(err)
});
},
使用.then
代替.success
答案 1 :(得分:0)
控制器
vm.doLogin = function(){
vm.processing = true;
vm.error = '';
Auth.login(vm.loginData.username, vm.loginData.password)
.then(function(data){
vm.processing = false;
Auth.getUser().then(function(data){
vm.user = data.data;
});
if (data.success) {
$location.path('/');
}else{
vm.error = data.message;
}
});
}
服务
authFactory.login = function(username, password){
return $http.post('/api/login',{
username: username,
password: password
})
.then(function(data){
AuthToken.setToken(data.token);
return data;
})
},