Здесь есть несколько вещей.Во-первых, когда кто-то переходит на URL-адрес, в вашем примере localhost:3000/email-adress
(который, кстати, работает только на вашей машине), браузер отправляет запрос GET
на маршрут /email-adress
.Я не уверен, какова остальная часть вашего экспресс-кода, но вам нужно будет найти способ справиться с этим, чтобы предположительно обслуживать вашу форму.Теперь, когда форма отправляется на внешний интерфейс, если вы хотите вызвать код на маршруте POST
до /email-adress
, вам придется сделать это через fetch
.
Я предполагаюВы хотите, чтобы это произошло после отправки формы.Для этого обработайте отправку формы через JavaScript.Избавьтесь от атрибутов action
и method
и сделайте что-то вроде этого:
document.querySelector('form').addEventListener('submit', onSubmit)
function onSubmit(e) {
fetch('/email-adress', {
method: 'POST',
body: JSON.stringify({ email: e.target.email.value })
})
}
Теперь, когда вы отправите форму, вы увидите, что на вашем сервере произойдет console.log
.