2016-06-23 5 views
-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.

+1

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

答えて

0

問題の解決策は、node.jsアプリケーションでこれらのメソッドのルートを作成することです。経路を作成したら、角度アプリの$httpを使用してURLをヒットします。これにより、node.jsアプリケーションのメソッドが呼び出されます。

関連する問題