По какой-то причине тело в наших почтовых запросах пуста. Браузер отправляет данные, мы можем видеть, что тело присутствует на нашем сервере NGINX, но как только он прибывает на сервер node.js, похоже, отсутствует.Что может привести к тому, что тело запроса станет пустым в node.js express?
Я использовал «Util», чтобы распечатать весь запрос, который огромен, поэтому я думал, что список «тело-родственный» атрибуты ниже
parser:
.....
onBody: [Function: parserOnBody],
....
_httpMessage:
....
_hasBody: true,
....
body: {},
все другие данные, кажется, есть, файлы cookie и т. д. объект запроса также содержит всю информацию о маршрутизации. Может ли причина «parserOnBody»?
Это не происходит для всех маршрутов, запросы POST для других маршрутов содержат тело.
node.js запущен в контейнере, сервер nginx работает на хосте-os, может возникнуть проблема с пересылкой запроса?
Ниже начало нашего метода
// add answer
app.post('/questions/:id([0-9a-fA-F]{24})/answers'
, passport.authenticate('token', { session: false })
, fetch(models.Question)
, stream()
, function(req, res) {
//console.log('add answer req '+util.inspect(req, false, null));
var question = req.model;
var answer = req.body;
console.log('add answer body '+util.inspect(answer, false, null));
Закомментированная линия печатает огромный запрос, въездные печатает второй журнал {}. Я знаю, что console.log следует избегать, но мне нужен способ, чтобы транспортировать свои выводы ...
Как вы извлекаете тело из запроса? –
Вы отправляете 'multipart/form-data'? – robertklep
@KevinB У меня есть вопрос с кодом ... – mpjjonker