#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
объекте