簡體   English   中英

使用express bodyParser后,request.body未定義

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM