Почему моя форма запроса HTML POST не проходит через Express app.post? Как передать числовые переменные другому запросу POST? - PullRequest
1 голос
/ 04 октября 2019

Я думаю, что делаю что-то не так или неверно истолковал то, что я прочитал в Интернете о запросах POST и GET. У меня есть форма для отправки на myNumber.ejs. Когда я нажимаю "Отправить", появляется вид Add.ejs. Add.ejs должен показывать число и число + 1 значение. Но запрос Add POST не работает, и число + 1 отображается как 0. Он работает, только если я помещаю вычисления в запрос Add GET.

У меня это как method = "post", но метод, который отображает и выполняет математику - это GET (показывает 0 и 1). Я могу оставить это как POST в myNumber.ejs и GET все еще работает. app.post ничего не делает, математика для него оставляет все переменные равными = 0. Я не понимаю, почему это происходит, я думал, что post ведет только к app.post.

1 Ответ

2 голосов
/ 04 октября 2019

Когда форма отправляется, вы отменяете отправку и открываете вместо нее всплывающее окно. Всплывающее окно - это обычный запрос get. Чтобы отправить форму во всплывающее окно, попробуйте следующее:

<form class="" onsubmit="centeredPopup('/add','myWindow','700','300','yes');" target="myWindow" action="/add" method="post">
        <p>Count: <%= myNum %>
        <button type="submit" class="btn btn-md" name="button">Add</button></p>    
</form>

Предполагая, что 2-й аргумент centeredPopup - это имя окна, чтобы POST для работы centeredPopup('/add','this' и <form target="this" были одинаковыми ивы не можете иметь return false

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...