0

Express を使用して、GET 情報を Node.JS サーバーに送信する非常に単純なフォームを HTML で作成しました。これは次の形式です。

    <form method="get" action="/search" autocomplete="off" class="navbar-search pull-left">
       <input name="search" type="text" id="search" data-provide="typeahead" placeholder="Search..." />
    </form>

そして、これはサーバー部分です:

app.get('/search', function (req, res){

   console.log(req.query["search"]);

   res.render('search.ejs')

});

入力に何かを書き込んでEnterキーを押すと、ページが長時間ロードされ続け、たとえばhttp://localhost:8080/search?search=foo. POSTリクエストでも機能しないため、値が適切に送信されない from に問題があると思います。これに対する解決策はありますか?

よろしくお願いします!

4

3 に答える 3

2

これは、機能しない req.query の代わりに req.params.search を使用する必要があるためです。

app.get('/search', function (req, res){
   var search = req.query.search;

   console.log(search);

   res.render('search.ejs')

});

ここで詳細を読むことができます: http://expressjs.com/api.html#req.param

于 2013-03-12T21:26:02.310 に答える
0

次回、エラーを把握するには、入力しapp.get(... console.log(res, req);て変数の場所を見つけます。

于 2013-03-13T10:30:43.957 に答える