Перенаправление после отправки формы с чистым javascript - PullRequest
1 голос
/ 21 февраля 2020

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

<form>
  <input type="text" name="blah blah blah" id="url">
  <input type="submit" onclick="return submit_form()">
</form>
function submit_form(){
  window.location.href="a url";
  return false;
}

Однако, когда я делаю это, мой сервер не получает ввод от пользователя. Как я могу это исправить?

Редактировать: Я также пробовал это:

function submit(){
  url = getElementById("url").value;
  window.location.href = "url";

}

1 Ответ

1 голос
/ 21 февраля 2020

Когда вы используете браузер javascript для установки window.location.href на URL, ваш браузер немедленно переходит на этот URL без вмешательства с вашего сервера. Это похоже на ввод URL-адреса в адресную строку браузера.

Если вы хотите, чтобы ваш сервер выполнял навигацию, вам нужна более сложная настройка. В вашем браузере, что-то вроде этого обработка сообщения вашей формы.

Совет по безопасности cybercreeps может неправильно использовать ситуацию, когда вы передаете URL перенаправления из браузера на ваш сервер. Всегда проверяйте req.body.redirect, чтобы убедиться, что он соответствует ожидаемому, прежде чем использовать его для фактического перенаправления.

...