#node.js #body-parser #express-4
#node.js #body-parser #экспресс-4
Вопрос:
Я работаю над nodejs с помощью express, и в моем проекте мне требуется фильтр, а также вложенный объект.
Если я установлю это промежуточное программное обеспечение для 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 и получаю все записи.
как я могу правильно получить оба значения?
Пожалуйста, помогите
Комментарии:
1. можете ли вы привести пример, для которого фильтр не работает должным образом, когда
extended: true
?2. посмотри на этот пример, брат
Ответ №1:
Когда вы устанавливаете extended false, вы не можете передавать вложенные объекты. Промежуточное программное обеспечение используется для извлечения содержимого тела из входящих запросов. Итак, вы можете сделать одну вещь, используйте следующий код
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json('application/json'));
и извлечь объект, используя оператор dot(.) вместо req.body[‘….[…]’]
например,
req.body.search.value
работает нормально, но
req.body['search[value]']
может быть неопределенным