2016-03-08 123 views
5

所以在登录页面我发送凭证从角度来表达通过获取请求。我想要做的是,如果在数据库中发现,发送响应和角度处理,否则如果没有在数据库中找到我想快递发送错误响应和处理它的角度错误响应函数,但我的代码没有工作。如何在express/node js中发送错误http响应?

角控制器:

myapp.controller('therapist_login_controller', ['$scope' ,'$localStorage','$http', 
    function ($scope, $localStorage,$http) { 


     $scope.login=function(){ 

     console.log($scope.username+$scope.password); 

     var data={ 
      userid:$scope.username, 
      password:$scope.password 
     }; 

     console.log(data); 


      $http.post('/api/therapist-login', data) 
         .then(
          function(response){ 
           // success callback 
           console.log("posted successfully"); 
           $scope.message="Login succesful"; 

          }, 
          function(response){ 
           // failure callback,handle error here 
           $scope.message="Invalid username or password" 
           console.log("error"); 
          } 
         ); 



     } 

    }]); 

APP.js:

app.post('/api/therapist-login',therapist_controller.login); 

控制器:

module.exports.login = function (req,res) { 

     var userid=req.body.userid; 
     var password=req.body.password; 
     console.log(userid+password); 

     Credentials.findOne({ 
      'userid':[userid], 
      'password':[password] 
     },function(err,user){ 
      if(!user){ 
       console.log("logged err"); 
       res.status(404);//Send error response here 
enter code here 
      }else{ 
       console.log("login in"); 

       // 
      } 


     }); 


} 
+1

使用'res.send( “登录ERR”,404);' – MiTa

+0

响应[ 'STATUS_CODE'] = STATUS_CODE; response ['message'] = status_message; response ['error_message'] = error_message; return res.jsonp(response); –

+0

代码的哪个方面不起作用?你是否收到回复的状态,但没有错误信息? '$ http'承诺的错误处理程序是否失败。 如果您能够提供一些清晰的问题,您将很快得到答案。 – gnerkus

回答

8

在节点可以使用res.status()发送错误:

return res.status(400).send({ 
    message: 'This is an error!' 
}); 

在角可以抓住它在许响应:

$http.post('/api/therapist-login', data) 
    .then(
     function(response) { 
      // success callback 
      console.log("posted successfully"); 
      $scope.message = "Login succesful"; 

     }, 
     function(response) { 
      // failure callback,handle error here 
      // response.data.message will be "This is an error!" 

      console.log(response.data.message); 

      $scope.message = response.data.message 
     } 
    ); 
+0

非常有帮助,谢谢! –

相关问题