0

私は node.js にまったく慣れていませんが、とても気に入っています。非常に単純なログインを機能させようとしています。GET を使用してフォーム入力データを取得しようとしても問題ありません。しかし、私はパスワードを送信しているので、URL の情報のために GET を使用したくありません。

フォームは /login (admin.login) を開きますが、エラーが発生し続けます

POST/ログインできません

フォームは Jade で書かれていますが、HTML で終わるため、問題にはなりません。

extends layout

block content 
h1 Admin Login
form(action="/login", method="post")#inputFields
    span Username
    input(type="text", name="username")
    span Password
    input(type="password", name="password")
    input(type="submit")

これは、ログインがリンクするファイルです

/*
 * GET home page.
 */

exports.index = function(req, res){ 
    if (req.session.UserLogin != true) {
        res.redirect("../login");
    } 

    res.render('index', { title: 'Express' });
};


exports.login = function(req, res){  
    req.
  res.render('login', { title: 'Express' });
};

それ以降は何もさせてくれないので本当にそれだけです。

どうもありがとう ジェイソン・ホーンズビー

4

1 に答える 1

2

問題は、ログインするための POST リクエストを処理するためのルートが設定されていないことです。Express をフレームワークとして使用しているようですので、以下を追加してください:

app.post('/login', handleLogin); 

リクエストを処理します。次に、処理する関数を作成できます。

exports.handleLogin = function (req, res) {
    //Handle request here
    var username = req.body.username;
    var password = req.body.password;
}

post パラメーターは req.body オブジェクトからアクセスできることに注意してください。

于 2013-01-16T22:58:12.463 に答える