Вы настроили парсер для выражения для использования? вы можете просто установить npm body-parser, а затем поместить их в свой код.
req.body
Надеюсь, это поможет!
В настоящее время я разрабатываю простое приложение для браузера, использующее экспресс. Я пытаюсь извлечь значение, которое пользователь выбирает в раскрывающемся меню. Я также дал каждому варианту индивидуальное значение и объявил метод формы как / post. но когда я попробую, какое значение они выбрали, перейдя в значение req.body
, значение не определено.
Я понимаю, что проблема может заключаться в анализе тела при просмотре похожих вопросов ( пример , пример1 ), но решения этих вопросов не исключаются req.body
из неопределенности.
Вот мой код для построения приложения
const app = express()
app.use(express.static(__dirname, ''));
app.engine('html', require('ejs').renderFile);
app.set('views', __dirname + '/public/views');
app.use(express.urlencoded());
app.set('view engine', 'html');
const server = http.createServer(app);
И вот код для обработки почты
app.get('/detailed', function(req,res){
res.send(displayDetailed(results, req));
});
app.post('/detailed', function(req,res){
res.send('Hello world');
console.log(req.body);
});
Когда я отправляю кое - что в локальном хосте: 8080 / подробный, то привет мир возвращается только штраф, но сопзЬ bodyParser = требуется ( «тело-анализатор» ) приложение . use ( bodyParser . json ()) является пустым (возвращается как {}). Функция displayDetailed - это настраиваемая функция, которая возвращает строку html со значениями, извлеченными из запроса на получение из API-интерфейсов google. Так как я не работаю с сохраненным html-документом, это может повлиять на процесс?
При вызове req.body
вне функции async (где была вызвана функция, строящая html), req.body
возвращается совершенно нормально. Я буду модифицировать свой проект для учета этого. Я должен был поставить это в исходный вопрос, но это не показалось мне актуальным, когда я писал вопрос. Спасибо всем кто ответил