-1
我需要一些關於nodejs和angular的幫助,我需要使用nodejs獲取結果並以角度將它們顯示爲HTML。我如何從HTML調用user.auth()
。這裏是我的控制器代碼:如何在Angularjs中調用Nodejs方法
var userModel = require('../models/users');
var users = {};
// controller that handles user login request
users.auth = function (req, res) {
if(!req.body.username || !req.body.password)
{
res.status(400);
res.send({status:'error',error:'Username or password is missing.'});
}
var user = userModel.authUser(req.body.username, req.body.password);
user.then(function(users){
res.send(users);
}, function(){
res.send({status:'error',error:'Error occured while fetching data from database.'});
});
};
module.exports = users;
,這是在模型文件夾中的代碼:
//Function to auth user baed on username and password.
userModel.authUser = function(username, password){
var results = q.defer();
User.findOne({username: username, password: password},function(err, dbuser) {
if (err){
results.reject(err);
}
if(dbuser){
dbuser.activeSession = makeSessionId();
dbuser.markModified('string');
dbuser.save(function(err, dbuser){
var response = {};
response.status = 'success';
response.sessionId = dbuser.activeSession;
response.username = dbuser.username;
results.resolve(response);
});
} else{
var response = {};
response.status = 'error';
response.error = 'Invalid username or password';
results.resolve(response);
}
});
return results.promise;
}
我需要調用從HTML文件中的這些方法,但我不知道怎麼辦。我不允許使用.ejs.
我想你應該讀一點關於REST和使用node.js和angula製作和使用服務。這看起來像一個很好的教程:https://scotch.io/tutorials/node-and-angular-to-do-app-controllers-and-services 基本上你需要從角度發出一個http請求並公開一個端點在你的node.js應用程序中。你可以閱讀我發給你的教程,看看你能做到這一點。 –