Конкат для запроса перед запросом

#javascript #node.js #express #ejs

#javascript #node.js #выразить #ejs

Вопрос:

У меня есть форма POST в html с такой структурой:

имя 1 электронная почта 1 адрес1

при нажатии кнопки появляется новый div с точно такими же полями но с числом выше

Эти данные передаются в экспресс-функцию, где предполагается, что цикл foreach извлекает данные.

Проблема, с которой я сталкиваюсь, заключается в увеличении req.body.name в начале каждого

Следующий код является самым близким, который я получил, однако я всегда получаю ошибку «NaN»

 app.post('/submit', function(req, res) {
for (var i = 1; i <= req.body.numberOfItems; i  ) {
    console.log(req.body.name  = i);
}}
 

Комментарии:

1. Наверное , потому что req.body.name имеет значение null, и вы добавляете к нему число. Может быть, вместо этого — console.log(req.body.name ), чтобы увидеть, каков результат, или даже console.log(req.body.name , я)

Ответ №1:

В вашем коде вы увеличиваете req.body.name значение.

Вы должны изменить только ключ

 app.post('/submit', function(req, res) {
for (var i = 1; i <= req.body.numberOfItems; i  ) {
    console.log(req.body["name" i]);
}}
 

Комментарии:

1. Спасибо вам за это, сработало как по волшебству. Поскольку я не использую массив, я думал, что не смогу изменить ключ.

2. @Julius это не массив. Поскольку вы используете динамические ключи объекта (name1, name2, name3), вы должны использовать скобки вместо точки для указания ключа на req.body объекте