gpt4 book ai didi

node.js - Express 路由器中间件中的请求正文为空

转载 作者:太空宇宙 更新时间:2023-11-04 00:03:26 25 4
gpt4 key购买 nike

这是我使用express的简单nodejs应用程序:

const express = require('express');
const app = express();
const user = require('./routes/user').user;
const browser = require('./routes/browser');
const bodyParser = require('body-parser');

// CORS middleware
const allowCrossDomain = function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', '*');
res.header('Access-Control-Allow-Headers', '*');
next();
}

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

app.use('/', user);
app.use('/', browser);

const port = process.env.PORT || 4001;

app.listen(port, function() {
console.log('Express server listening on port ' + port)
});

路由处理程序“浏览器”,我在其中添加了中间件:

const express = require('express');
const router = express.Router();

router.use(function (req, res, next) {
console.log(req.body);
next();
});

router.post('/get-content', (req, res) => {

});

Console

在这里,我遇到了中间件的奇怪行为。我想获取请求正文数据,但在控制台中我看到空对象,而不是带有内容的预期正文。调用 next() 中间件第二次触发后,我终于得到了请求正文。帮助我了解我的案例中的中间件行为。

最佳答案

这可能会有所帮助。安装cors包,并在express.use中给出。

https://www.npmjs.com/package/cors

关于node.js - Express 路由器中间件中的请求正文为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53481461/

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