我正在编写angular + node js app,我有一个使用http post调用验证用户和密码的登录方法:
login.js
$scope.userLogin = function (info) {
$http.post('/authenticate_user', {'name':info.name,'password':info.password})
.success(function(data) {
})
.error(function(data) {
console.log('Error:'+ data);
});
}
在server.js文件上的我正在处理authnetication:
app.post('/authenticate_user', function(req, res){
authenticate_user(req, res);
});
var authenticate_user=function(req, res){
var query= user_details.find({'name': req.body.name});
res.setHeader("Cache-Control", "private, no-cache, no-store, must-revalidate, max-age=0");
query.exec( function(err, docs){
if (docs.length==0) return false;
res.json(docs[0].password==req.body.password);
});
}
我想在我的login.js文件中使用userLogin功能来获得app.post()方法的值..
类似
$http.post('/authenticate_user', {'name':info.name,'password':info.password})
.success(function(data) {
// what is data includes here? the response for the http post?
// or what the function I calling to aka authenticate_user, returns - in this case - a boolean value?
})
我希望将我的api帖子中的值转移到login.js文件中的调用方法..
关于如何做到的任何想法?
由于
答案 0 :(得分:1)
返回承诺而不是隐藏它
$scope.userLogin = function (info) {
return $http.post('/authenticate_user', info);
}
使用
userLogin({name: '', password: ''}).then(function(success) {
console.log(success)
})