2017-06-04 95 views
0

我使用angularJS +護照來執行用戶身份驗證,因此,我在下面進行了設置。 HTML:400 - Bad Request(AngularJS + Passport)

<div ng-controller="logincontroller"> 
<form> 
Email:<input type="text" ng-model="user.email"/> 
Password:<input type="password" ng-model="user.password"/> 
<div ng-click=loginUser()>Submit</div> 
</form> 
</div> 

在客戶端的JavaScript:

app.controller('logincontroller',function($scope,$http){ 
    $scope.loginUser=function(){ 
    $http.post('/loginUser',JSON.stringify($scope.user)); 
    } 
    }) 

ON app.js

passport.use(new LocalStrategy(
    {usernameField: 'user.email', 
    passwordField: 'user.password', 
    passReqToCallback : true 
    }, 
    function(req,username,password,done){ 
     console.log("am hre"); 

} 
)) 

app.post('/loginUser',passport.authenticate('local')); 

我不知道我是否有設置的要求模式的權利。我得到400 - 嘗試登錄時出現錯誤的請求,我不認爲策略被調用。請支持。

回答

0

那麼,只需要添加名稱屬性輸入標籤。這解決了這一切

在HTML

Email:<input type="text" name="email" ng-model="user.email"/> 
Password:<input type="password" name="password" ng-model="user.password"/> 

而且在app.js

passport.use(new LocalStrategy(
    {usernameField: 'email', 
    passwordField: 'password', 
    passReqToCallback : true 
    }, 
    function(req,username,password,done){ 
     console.log("am hre");