使用 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 来获取更新信息