2015-10-15 57 views
1

我玩弄一個簡單的html表單,試圖解析表單數據。不幸的是我的路線節只返回一個未定義的從我的表單元素Expressjs模塊bodyparser返回undefined

我app.js

var express = require('express'); 
var path = require('path'); 
var favicon = require('serve-favicon'); 
var logger = require('morgan'); 
var cookieParser = require('cookie-parser'); 
var bodyParser = require('body-parser'); 
var busboy = require('connect-busboy'); 

var routes = require('./routes/index'); 
var users = require('./routes/users'); 

var app = express(); 

// view engine setup 
app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'jade'); 

// uncomment after placing your favicon in /public 
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); 
app.use(logger('dev')); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: true })); 
app.use(cookieParser()); 
app.use(express.static(path.join(__dirname, 'public'))); 

app.use('/', routes); 
app.use('/users', users); 
module.exports = app; 

翡翠形式,

form(method='post', action='/contact', enctype="multipart/form-data") 
    .form-group 
     label Name: 
     input.form-control(name='name', type='text') 
    input.btn.btn-default(name='submit',type='submit',value='Save') 

我的路線,

router.post('/contact', function(req, res, next) { 
    var name = req.body.name; 

    console.log(req.body.name); 

    res.redirect('google.com'); 
}); 

回答

0

在窗體中有multipart/form-data格式:

form(method='post', action='/contact', enctype="multipart/form-data") 

但因爲它是寫herebody-parser不`噸處理這種類型的機構:

這不處理多機構,由於其複雜的,通常大的性質。對於多機構,你可能有興趣在 以下模塊:

或者你應該改變中間件解析身體,或表單enctype

+0

那麼,是否有一個我可以與身體分析器一起使用的enctype? – user2581707

+0

試試'application/x-www-form-urlencoded' –