Как опубликовать отправку формы на URL и перенаправить при отправке на другой URL - PullRequest
0 голосов
/ 20 ноября 2018

Я хотел бы разместить поля формы на 1 URL и перенаправить на другой URL. Код, который у меня есть посты на URL, который я хочу, но как мне перенаправить на другой? URL, который я хочу опубликовать на сайте: www.mywebsite.com/submissions URL, на который я хочу перенаправить пользователя при отправке: www.anotherwebsite.com/confirmation

Вот что у меня есть:

<form action="https://mywebsite.com/submissions" 
method="post">

    First name: <input type="text" name="fname"><br>
    Last name: <input type="text" name="lname"><br>
<input type="submit" value="Submit">

</form>

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Есть два способа сделать это:

  1. Отправить форму, используя Ajax, и после успеха перенаправить из Javascript
  2. Отправить форму нормально и отправить ответ перенаправления с сервераНовый URL-адрес

(2) зависит от вашего серверного языка - будь то PHP или Java.

Какая-то функция перенаправления будет доступна на вашем внутреннем языке или в библиотеке.Он отправит ответ HTTP 301 с альтернативным URL.Браузер автоматически загрузит предоставленный новый URL.

Редактировать:

Для (1) вы можете обрабатывать нажатия кнопок, предотвращать поведение по умолчанию и отправлять форму вручную через Ajax.По завершении вы перенаправляете страницу.

// this is the id of the form
$("#FormID").submit(function(e) {
    e.preventDefault(); // avoid to execute the actual submit of the form.
    var form = $(this);
    var url = form.attr('action');
    $.ajax({
           type: "POST",
           url: url,
           data: form.serialize(), // serializes the form's elements.
           success: function(data)
           {
               alert(data); // show response 
               window.location.href = "www.anotherwebsite.com/confirmation";
           }
         }); 
    });

Адаптировано из этого ответа SO: https://stackoverflow.com/a/6960586/1364747

0 голосов
/ 20 ноября 2018

Отправка формы перенаправит вас на целевой URL.Если вы хотите перенаправить в другое место, вы можете опубликовать форму, используя запрос ajax.Это никуда не перенаправит вас.Затем, когда вы получите ответ от ajax, вы сможете перенаправить на нужную вам ссылку.

...