Как мы можем использовать «расширенный» true или false в одном проекте - PullRequest
0 голосов
/ 24 апреля 2019

Я работаю над nodejs с помощью express, и в моем проекте мне требуется фильтр, а также вложенный объект.

Если я установлю это промежуточное ПО для bodyparser

app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json('application/json'));

тогда фильтр работает нормально, но вложенный объект дает неопределенное значение

enter image description here

посмотрите на картинку, я ищу amit и получаю только одну запись с именем amit

если я установлю это промежуточное ПО для bodyparser

app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json('application/json'));

тогда вложенный объект работает правильно, но фильтр выдает неопределенное значение

enter image description here

Я ищу amit и получаю все записи.

как мне правильно получить оба значения?

Пожалуйста, помогите

1 Ответ

1 голос
/ 30 апреля 2019

Когда вы делаете расширенное значение false, вы не можете передавать вложенные объекты. Промежуточное программное обеспечение используется для извлечения содержимого тела из входящих запросов. Таким образом, вы можете сделать одну вещь, используйте следующий код

app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json('application/json'));

и извлекать объект, используя оператор точки (.) Вместо req.body ['.... [...]']

например,

req.body.search.value 

отлично работает, но

req.body['search[value]']

может быть неопределенным

...