Javascript 如何将表单提交发布到URL并在提交时重定向到其他URL

Javascript 如何将表单提交发布到URL并在提交时重定向到其他URL,javascript,html,zapier,Javascript,Html,Zapier,我想将表单字段发布到一个url,并重定向到另一个url。代码我已经张贴到我想要的网址,但我如何重定向到一个不同的? 我想将提交内容发布到的URL:www.mywebsite.com/submissions 提交时我想将用户重定向到的URL:www.anotherwebsite.com/confirmation 以下是我目前掌握的情况: <form action="https://mywebsite.com/submissions" method="post"> First

我想将表单字段发布到一个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>

名字:
姓氏:

提交表单会将您重定向到目标url。如果要重定向到另一个位置,可以使用ajax请求发布表单。这不会将您重定向到任何地方。然后,当您收到来自ajax的响应时,可以重定向到所需的url。

有两种方法:

  • 使用Ajax提交表单,成功后从Javascript重定向
  • 正常提交表单,并使用新url从服务器发送重定向响应
  • (2) 取决于您的服务器端语言-无论是PHP还是Java

    您的后端语言或库中将提供某种重定向功能。它将发送带有备用URL的HTTP 301响应。浏览器将自动加载提供的新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://mywebsite.com/submissions
    ?您目前如何处理此帖子?您可以使用
    window.location.href=http://redirecturl/';
    如果您的post请求成功,或者更好
    window.location.replace('http://redirecturl/“)
    。您需要1)通过ajax提交表单,防止提交事件传播2)等待成功回调3)在ajax回调上手动触发重定向post只在数据库中记录条目。这在后端发生,但我希望用户被重定向到一个更友好的确认屏幕@kkesleyMy action=”“中我发布的url是一个Zapier Webhook,可以用作触发器,因此我不确定哪种方法最好。您可能希望在问题中包含Zapier和Webook标记。你可以通过这种方式得到更具体的答案。在Zapier的例子中,方法1应该可以很好地工作。方法2需要服务器重定向。我在action=“mywebsite.com/submissions”中发布的url是一个Zapier Webhook,可以用作触发器,因此我不确定哪种方法最好。