2012-04-22 6 views
0

資格情報が間違っている場合にエラーメッセージを表示したい。 Express JSでどうすればいいですか?次のコードを試しましたが、動作しません。ExpressJSレスポンスでJQuery Mobileエラーメッセージを送信

app.get('/', function(req, res, next) { 
     passport.authenticate('local', function(err, user, info) { 
     if (err) { return next(err) } 
     if (!user) { return res.send($("<div class='ui-loader ui-overlay-shadow ui-body-e ui-corner-all'><h1>YOUR MESSAGE</h1></div>") 
     .css({ "display": "block", "opacity": 0.96, "top": $(window).scrollTop() + 100 }) 
     .appendTo($.mobile.pageContainer) 
     .delay(800) 
     .fadeOut(400, function() { 
     $(this).remove(); 
     }) 
     ); } 
     req.logIn(user, function(err) { 
     if (err) { return next(err); } 
     return res.redirect('/account'); 
     }); 
     })(req, res, next); 
    }); 

この問題は何ですか?

ありがとう、

+0

:その場合は

// verify callback return done(null, false, { message: 'Invalid password' }); 

、それは上記のスニペットにinfo引数として羽目になるだろうか? – Mustafa

+0

認証。カスタムコールバックセクションを参照してナビゲートしてください。http://passportjs.org/guide/authenticate.html –

+0

いいえ、私はこのコードが何をしているのか、何がうまくいかないのでしょうか? – Mustafa

答えて

0

戦略の確認コールバックからエラーメッセージが表示されますか?これと同じように:それは何をするん

passport.authenticate('local', function(err, user, info) { 
    // arguments to this callback are what was given to done() 
    // info.message => 'Invalid password' 

    var msg = "<h1>" + info.message + "<h1>" 
    res.send(msg) 
} 
関連する問題