[英]Unable to read array from req.body in Nodejs express
我正在尝试使用 Postman 从 application/json 类型的请求中读取数组。 在 Nodejs 中,我正在读取值 req.body。 除了数组之外,所有其他值都很好。 数组我只得到第一个值。
这是我的数据
{ "title": "test",
"date": "March 12 12 pm",
"prize": "100",
"status": "Ongoing",
"users": ["1","2"]
}
在 Nodejs 中,我是这样读的
const { title, data, prize, status, users } = req.body
输出适用于我只得到 1 个但不是完整数组的用户。 什么地方出了错?
这是我的 app.js:
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(
bodyParser.urlencoded({
extended: true,
}),
);
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
//To allow cross-origin requests
app.use(cors());
另外我正在使用快速验证器作为身体
const { body, validationResult } = require('express-validator');
const { sanitizeBody } = require('express-validator');
exports.tournamentUpdate = [
auth,
body('title', 'Title must not be empty.')
.isLength({ min: 1 })
.trim(),
body('date', 'Date must not be empty.')
.isLength({ min: 1 })
.trim(),
sanitizeBody('*').escape(),
(req, res) => {
try {
const errors = validationResult(req);
const {
title,
prize,
status,
users
} = req.body;
output req.body.title = test;
req.body.prize = 100;
req.body.users = 1;
在这里用户我得到的值为 1,我想要整个数组 [1,2]。
清理数组有一个您遇到过的快速验证器的公开错误。
当它被修复时,您可以从清理中排除数组字段。
sanitizeBody("title", "date", "price", "status").escape(),
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.