在node express中,当我尝试从表单中访问post值时,它显示请求体未定义错误。 这是我的代码,
http.createServer(function(req, res) {
var hostname = req.headers.host.split(":")[0];
var pathname = url.parse(req.url).pathname;
if (pathname==="/login" && req.method ==="POST") {
console.log("request Header==>" + req.body.username );
}).listen(9000, function() {
console.log('http://localhost:9000');
});
请任何人帮我查一下请求正文显示未定义的原因。
答案 0 :(得分:1)
首先启用body-parser中间件
var express = require('express')
var bodyParser = require('body-parser')
var app = express()
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())
app.use(function (req, res) {
res.setHeader('Content-Type', 'text/plain')
res.write('you posted:\n')
res.end(JSON.stringify(req.body, null, 2))
})
答案 1 :(得分:0)
如果您没有将express
用于网络服务器而只使用普通的http。使用body模块。