Да, я уже рассматривал подобные вопросы вроде этого Express. js req.body undefined , но мне это не помогло, и да, я пробовал изменить код на промежуточное ПО.
Моя проблема в том, что переданный XML действителен и все в порядке (я использую Angular для Frontend), но мой бэкэнд всегда предоставляет мне неопределенную переменную req.body ... Я пробовал распечатать console.log(req)
, и он всегда показывает тело как пустой объект.
У меня есть следующий код:
var testvar = req.body;
var req = http.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
req.write(postData);
req.end();
console.log(testvar);
Код реализован внутри app.post
, который естественно содержит req, res
как обычно. Параметры содержат IP, порт и т.д. c, что не имеет отношения к разгадке этой загадки.
Также: после вызова метода post появляется ошибка
TypeError: данные должны быть строкой, Buffer или Uint8Array
встречается в бэкэнде.