我正在使用 Express 构建一个查询 Twitter API v1.1 的搜索引擎应用程序。目前,我正在尝试通过使用 bodyParser 模块解析表单数据来将搜索字符串提交到我的服务器。这是代码:
索引.ejs
...
<form method="GET" action="/results">
<input id="input" type="text" name="search">
<button id="searchButton">+</button>
</form>
...
服务器.js
var express = require('express'),
bodyParser = require('body-parser');
var app = express();
var port = process.env.PORT || 8080;
app.set('view engine', 'ejs');
app.use(express.static(__dirname + "/public");
var urlencodedParser = bodyParser.urlencoded({ extended: false })
app.get('/', function(req, res) {
res.render('index');
});
app.get('/results', urlencodedParser, function (req, res) {
console.log(req.body);
res.render('results')
});
app.listen(port, function() {
console.log('Our app is running on http://localhost:' + port);
});
显示的代码会将{ }返回到控制台。如果我尝试访问 req.body.search 它返回未定义(显然)。这里有什么问题?为什么它不记录我的搜索字符串?