[英]request.body undefined after using express bodyParser
編輯:我通過使用它修復了它:
app.configure(function(){
app.use(express.bodyParser());
});
原始帖子:
我試圖弄清楚如何處理節點和表達的帖子,我完全陷入困境。
經過一番閱讀后,我注意到人們說我應該使用“中間件”,並創建一行app.use(express.bodyParser());
。 我假設添加之后,我的post方法中將有一個req.body
可用。 但是,事實並非如此。 它console.log進入一個undefined
。
我想我不知道如何正確設置它,所以什么也沒做:
var express = require('express')
, routes = require('./routes')
, user = require('./routes/user')
, http = require('http')
, path = require('path')
, UserProvider = require('./userprovider').UserProvider,
qs = require('querystring');
var userProvider = new UserProvider('localhost', 27017);
var app = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server);
server.listen(8080);
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
app.get('/new_game', function (req, res) {
res.sendfile(__dirname + '/new_game.html');
});
app.post('/new_game', function(req, res) {
var codeToUse = Math.random()*10000;
codeToUse = Math.round(codeToUse);
console.log(req.body);
});
app.use(express.bodyParser());
app.listen(3000);
盡管您現在說過您的代碼有效,但是我不建議您在以下選項中使用bodyParser
app.configure()
它的作用是,如果您按已使用的方式使用它,則可以將所有文件都發送到系統中以進行所有發布請求。 最好用
express.json()
和
express.urlencoded()
在app.configure()
的選項中,並且當您期望文件時,在這樣的相應發布路徑中使用bodyParser
app.post('/upload', express.bodyParser(), function(req, res){//do something with req.files})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.