2017-04-16 38 views
1
的NodeJS

这里是我的html:req.body未定义 -

<form action='/new' method='POST' > 
    <span>pool name: </span> 
    <input type="text" name="name" /> 
    <input type="hidden" name="imageSrcList" /> 
    <button type='submit' >Create new</button> 
</form> 

这里是相关的JS:

var app = express() 
app.use(fileUpload()); 
app.set('view engine', 'ejs') 
app.use(express.static(__dirname + '/views')); 

app.post('/new', (req, res) => { 
    console.log(req.body.name); 
    }) 

控制台读取:

TypeError: Cannot read property 'name' of undefined 

我已经尝试过console.log(req.body),这也是未定义的。

在此先感谢!

回答

5

您错过了body-parser中间件,它必须将req.body设置为一个值。 Express默认不带此项,需要通过NPM安装npm i --save body-parser

const bodyParser = require('body-parser') 
app.use(bodyParser.json()) 
app.use(bodyParser.urlencoded({extended: true})) 
+0

完美!谢谢!我会在5分钟内投票给你。再次感谢! – pudility