-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.
私はあなたがnode.jsとangulaを使ってRESTとサービスを作って消費するのを少し読んでくださいと思っています。これは良いチュートリアルのようです:https://scotch.io/tutorials/node-and-angular-to-do-app-controllers-and-services 基本的に、角度からhttpリクエストを作成し、エンドポイントを公開する必要がありますあなたのnode.jsアプリケーションで。私があなたに送ったチュートリアルを読んで、あなたがこれを正確に行う方法を見ることができます。 –