XMLHttpRequest POST перенаправляет, прежде чем я получу ответ - PullRequest
0 голосов
/ 26 мая 2020

Javascript:

function basiclogin() {
  var xhttp = new XMLHttpRequest();
  xhttp.open("POST", "login");
  xhttp.send(new FormData(document.forms.login));
  xhttp.onload = () => alert(xhttp.response);
}

HTML:

<html>
...
<script>basiclogin()</script>
</html>

Это работает и дает предупреждение с сервера. Но если я вызываю basiclogin () с помощью кнопки отправки в форме, страница перенаправляет и показывает ответ как новый документ, прежде чем я получу ответ!

Почему это?

1 Ответ

1 голос
/ 26 мая 2020

По умолчанию кнопка отправки открывает страницу для отправки данных на сервер. Если вы используете sh, чтобы предотвратить это, вам нужно использовать event.preventDefault().

Например,

function basiclogin(event) {
  event.preventDefault();
  var xhttp = new XMLHttpRequest();
  xhttp.open("POST", "login");
  xhttp.send(new FormData(document.forms.login));
  xhttp.onload = () => alert(xhttp.response);
}

Затем добавьте параметр в кнопку отправки в обработчике Click.

Например:

submitButton.addEventListener('click', (event) => basicLogin(event))

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