我已经设置了一个简单的HTML表单,如下所示:
<!doctype html>
<html>
<head>
<title>Testing Echo server</title>
</head>
<body>
<form method="post" action="/">
<input type="text" id="keyword" name="keyword" />
<input type="submit" value="echo" id="submit" />
</form>
</body>
</html>
我的app.js看起来像这样:
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.sendFile(__dirname + '/index.html');
});
app.post('/', function (req, res) {
console.log(req.params); // logged as {}
res.writeHead(200);
//req.pipe(res); // throws error
res.write('abc'); // works
res.end();
});
app.listen(8080);
我无法访问表单发送的参数。
我该如何解决这个问题?
答案 0 :(得分:1)
首先,如果您不想自己从http标头中提取数据,则需要body-parser middleware。
然后你不需要访问params,因为你没有任何东西,但请求的主体是req.body
。