2016-03-14 131 views
0

我試圖用下拉窗體更新數據庫,但是req.body [form of name]是未定義的。Jade and Express.js - req.body。[name of form] is undefined

控制檯中的請求顯示{}。

這裏是我的lev.js:

router.post('/kundeendring', function(req, res) { 
    var test1 = req.body.ansvarlig; 
    console.log(test1); 

這裏是我的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 

我也bodyParser使用快速生成自動安裝:

var bodyParser = require('body-parser'); 

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: false })); 

當我點擊提交按鈕test1是'未定義'。

編輯:修正了缺少的括號。

編輯:這工作在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 
+0

修復lev.jade中的第二行:select(name =「ansvarlig」) –

+0

對不起。固定。它在我的原始代碼中。 – tec1106

+0

你可以在瀏覽器中檢查你實際發送的內容嗎? – alexey

回答

0

這是一個簡單的和愚蠢的空白錯誤。

選擇標籤沒有得到名稱。

更改爲select(name= "ansvarlig")解決了一切。