[英]Jade and Express.js - req.body.[name of form] is undefined
I'm trying to update a database using a drop down form, but req.body.[name of form] is undefined. 我正在尝试使用下拉表单更新数据库,但是req.body。[表单名称]未定义。
req.body in console shows {}. 控制台中的req.body显示{}。
Here is my lev.js: 这是我的lev.js:
router.post('/kundeendring', function(req, res) {
var test1 = req.body.ansvarlig;
console.log(test1);
And here is the form in my lev.jade: 这是我的lev.jade中的表格:
form#kunde(method="post", action="kundeendring")
select (name= "ansvarlig")
option(value='Kim', selected=kim) Kim
option(value='Christer', selected=christer) Christer
option(value='Hege', selected=hege) Hege
option(value='Morten', selected=morten) Morten
option(value='Andre', selected=andre) Andre
h3= "Lagre"
button#btnSubmit(type="submit") submit
I also have bodyParser automatically installed using the express generator: 我还使用express生成器自动安装了bodyParser:
var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
When I click the submit button test1 is 'undefined'. 当我单击提交按钮时,test1为“未定义”。
edit: Fixed a missing parentheses. 编辑:修复了缺少的括号。
edit: This works in lev.jade, but still not able to transfer that to drop down: 编辑:这在lev.jade中有效,但仍无法将其转移到下拉菜单中:
form#formAddUser(name="adduser",method="post",action="kundeendring")
input#inputUserName(type="text", placeholder="username", name="username")
input#inputUserEmail(type="text", placeholder="useremail", name="useremail")
button#btnSubmit(type="submit") submit
It was a simple and stupid white space error. 这是一个简单而愚蠢的空白错误。
The select tag didn't get a name. 选择标签没有名字。
Changing to select(name= "ansvarlig")
solved everything. 更改为
select(name= "ansvarlig")
解决所有问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.