Express.js不接受也不接受大型对象数组



我使用Express.js创建api并通过Express验证器进行验证,我试图发送大量数据,这些数据由一个包含2000多个对象的数组组成。您可以将阵列创建为

const ids = Array(2000)
.fill(0)
.map((_, index) => {
return {
"A": "1",
"B": "2",
"C": "0",
"D": "MO",
"E": "1",
"F": "0",
"G": "XYZ",
"H": "000",
"I": "999"
};
});

我正在使用axios调用api。

axios.post('/demo', {
d:ids,
});

这是我的api

app.post('/demo', async (req, res, next) => {
console.log(req.body);
const errors = validationResult(req);
console.log('---- errors', errors);
res.end('hello world');
}
);

现在,当我记录req.body时,它显示空对象{}。这是因为express无法读取这个数组,还是我做错了什么。

在app.post 之前在server.js或app.js中尝试此操作

express.json((是express中内置的一个方法,用于将传入的请求对象识别为json对象。此方法被称为应用程序中的中间件,使用代码:

app.use(express.json(((

express.urlencoded()是express中内置的一种方法,用于将传入的请求对象识别为字符串或数组。此方法被称为应用程序中的中间件,使用代码:

app.use(express.urlencoded());

有关详细说明,请参阅本

还有一种可能性是,可能已经超过了默认的大小限制。因此,在这种情况下,您可以手动设置请求大小限制。

app.use(express.json({limit:'2mb'}))

有关详细说明,请参阅本

最新更新