如何从表单下拉选择元素中获取数据?

时间:2017-06-25 15:05:44

标签: node.js express

我正在使用Express.js并尝试获取下拉选择元素的表单数据, 我尝试使用body-parser,但我对eq.body.method_select的看法是未定义的。 我没有找到很多关于如何在网上这样做的信息。

这是我的代码html代码:

  <form action="url_analyse">
   <div class="col-lg-6">

       <div class="input-group">

           <select class="custom-select mb-2 mr-sm-2 mb-sm-0" name="method_select" id="inlineFormCustomSelect">
               <option value="5">Regular Search (Short)</option>
               <option value="10">Intense Search (Long)</option>
               <option value="20">Deep Search (Very Long)</option>
           </select>

           <input type="text" name="url_input" class="form-control" placeholder="Enter URL">

          <span class="input-group-btn">
                <button class="btn btn-secondary">Go!</button>
          </span>

       </div>


   </div>

这是我的js代码:

app.get('/url_analyse', function(req, res) {
   console.log(req.body.method_select);
})

希望你能帮助我。 谢谢。

1 个答案:

答案 0 :(得分:2)

这里有两个问题:

  • 您可能希望明确添加前导斜杠:action="/url_analyse"
  • 默认表单提交HTTP方法是GET,这意味着表单字段将在URL的查询字符串部分中传递。这意味着您需要访问req.query才能获取表单字段。当您使用POST和其他方法(使用适当的body-parser)提交表单时,您只需要req.bodyenctype