我们如何在一个项目中同时使用 'extended' true 或 false
How can we use 'extended' true or false both in one project
我正在使用 express 在 nodejs 上工作,在我的项目中我需要过滤器和嵌套对象。
如果我为 bodyparser 设置这个中间件
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json('application/json'));
然后过滤器工作正常但嵌套对象给出未定义的值
看图片我搜索amit,只得到一条名字是amit的记录
如果我为 bodyparser 设置这个中间件
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json('application/json'));
然后嵌套对象正常工作,但过滤器给出未定义的值
我搜索 amit,得到所有记录。
我怎样才能正确地获得这两个值?
请帮忙
当您将扩展设置为 false 时,您将无法传递嵌套对象。中间件用于从传入请求中提取正文内容。所以你可以做一件事,
使用以下代码
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json('application/json'));
并使用点 (.) 运算符而不是 req.body['....[...]']
来提取对象
例如,
req.body.search.value
工作正常,但是
req.body['search[value]']
可能未定义
我正在使用 express 在 nodejs 上工作,在我的项目中我需要过滤器和嵌套对象。
如果我为 bodyparser 设置这个中间件
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json('application/json'));
然后过滤器工作正常但嵌套对象给出未定义的值
看图片我搜索amit,只得到一条名字是amit的记录
如果我为 bodyparser 设置这个中间件
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json('application/json'));
然后嵌套对象正常工作,但过滤器给出未定义的值
我搜索 amit,得到所有记录。
我怎样才能正确地获得这两个值?
请帮忙
当您将扩展设置为 false 时,您将无法传递嵌套对象。中间件用于从传入请求中提取正文内容。所以你可以做一件事, 使用以下代码
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json('application/json'));
并使用点 (.) 运算符而不是 req.body['....[...]']
来提取对象例如,
req.body.search.value
工作正常,但是
req.body['search[value]']
可能未定义