gpt4 book ai didi

javascript - 使用 express bodyParser 后 request.body undefined

转载 作者:行者123 更新时间:2023-11-30 17:59:55 24 4
gpt4 key购买 nike

编辑:我通过使用修复了它:

app.configure(function(){
app.use(express.bodyParser());
});

原帖:

我正在尝试弄清楚如何使用 node 和 express 处理帖子,但我完全被卡住了。

读了一些书后,我注意到有人说我应该使用“中间件”,无论这意味着什么,并创建一行 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})

关于javascript - 使用 express bodyParser 后 request.body undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17248422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com