2016-11-02 19 views
0

GETリクエストを介してnode.jsファイルにHTMLフォーム要素の値を渡そうとしています。GETリクエストを使用したHTML値の受け渡し

どうすればよいですか?

私は、POSTリクエストで同様の例を発見したが、私はここだけでGETリクエストを使用する必要があります。 HTMLフォームの値は、データベースで検索するために使用する検索文字列です。

app.get('/search', function (req, res){ 
 
    res.sendfile('./views/search.html'); 
 
    console.log(req.body.denomination); 
 
    user.find({denomination: req.params.denomination}, function (err, docs) { 
 
     res.render('index', {users: docs}); 
 
    }); 
 
});
<form action="/search" method="get"> 
 
    <label for="denomination">Denomination</label><br> 
 
    <input type="text" name="denomination"><br> 
 
    <button type="button" class="btn btn-primary btn-lg" onclick="like(this)">submit</button> 
 
</form>

答えて

0

あなたがreq.query.<your_html_field>を使用することができますGETリクエストの後に値を取得します。あなたはquerystringを検索できるようにapp.use(bodyParser.urlencoded({ extended: true }));を設定している場合

また、確認してください。詳細はhereです。

私はそれがまだかどうかの応答を送信するのかどうか、あなたの方法の初めにあなたのres.sendfile(...)わからないんだけど、私はそれが働いていると仮定します。

app.get('/search', function (req, res){ 
    res.sendfile('./views/search.html'); 

    // Changed here from `body` to `query` 
    console.log(req.query.denomination); 

    // Changed here from `params` to `query` 
    user.find({denomination: req.query.denomination}, function (err, docs){ 
     res.render('index', {users: docs}); 
    }); 
}); 

はそれが役に立てば幸い:

はちょうどあなたのルートでこれら二つの小さな変更を行います。

+0

tomさんに感謝し、問題を解決しました。 –

関連する問題