使用 express 在 node.js 中获取选定的选项值

Posted

技术标签:

【中文标题】使用 express 在 node.js 中获取选定的选项值【英文标题】:Get selected option value in node.js with using express 【发布时间】:2019-05-28 16:20:50 【问题描述】:

我需要使用 express 获取所选对象以在 app.js 中对其进行控制台

example.html

 <form id="tableForm" action="getJson">
        <select class="example" name="example">
              <option name="" value="0" selected>Select table</option>
              <option name="table1" value="1">Table 1</option>
              <option name="table2" value="2">Table 2</option>
              <option name="table3" value="3">Table 3</option>
        </select>
    </form>

App.js

var express = require('express'),
app = express();

app.use(express.bodyParser());

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

app.get('/getJson', function (req, res) 
   console.log(req.body.example);
);

app.listen(3000, function()
    console.log('Server running at port 3000: http://127.0.0.1:3000')
);

即使我选择另一个对象,控制台的输出也是未定义的。

【问题讨论】:

嗨,选择另一个选项的输出是什么(例如值为 2)? 【参考方案1】:

您需要在表单提交时为post 方法添加处理程序。

app.js

app.post('/getJson', function (req, res) 
   console.log(req.body.example);
);

example.html

<form method="post" id="tableForm" action="getJson">
  <select class="example" name="example">
      <option name="" value="0" selected>Select table</option>
      <option name="table1" value="1">Table 1</option>
      <option name="table2" value="2">Table 2</option>
      <option name="table3" value="3">Table 3</option>
  </select>
</form>

【讨论】:

【参考方案2】:

试试这个

var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded(extended: false));

而不是

app.use(express.bodyParser());

【讨论】:

你应该解释代码在做什么,否则它不是一个好的答案。【参考方案3】:

这是您的代码中的错误

1)在 HTML 文件中,你的表单应该有一个 post 方法

<form method="post" id="tableForm" action="getJson">

(2) post 方法应该在 App.js 中处理。用户给的输入值可以通过req.body.example方法收集

【讨论】:

以上是关于使用 express 在 node.js 中获取选定的选项值的主要内容,如果未能解决你的问题,请参考以下文章

Node.js express获取参数有三种方法

Node.js中的express框架获取http参数

如何使用在 node.js 上的方法和 express 来获取更新信息

我无法在 Node.js 中获取正文格式的请求

如何使用node js,reactjs,express从实际网页中的mongodb中获取数据

如何使用 express 框架通过 node.js 获取远程客户端的本地 IP 地址?