gpt4 book ai didi

javascript - 在调用 PHP 函数的 AJAX 请求后提交表单时重定向页面

转载 作者:行者123 更新时间:2023-12-03 05:10:41 25 4
gpt4 key购买 nike

我有一个 HTML 页面 (index.html),它收集电子邮件地址并通过 AJAX POST 请求将其提交到服务器。单击提交按钮时,JavaScript 函数会通过 AJAX 执行 POST 请求,然后页面提交给自身。我需要对此进行修改,以便页面提交到另一个页面(thankyou.html)而不是提交给自身。我不知道如何在 PHP 中执行此操作。有没有办法在提交表单并执行 AJAX 查询后重定向 PHP 页面?

我不确定是否应该使用 Javascript、HTML 或 PHP 重定向页面。

这是index.html中的形式:

       <form class="email-form" method="POST" validate>
<div class="email-input-container register-info-email">
<input class="email-input" type="email" autocapitalize="off" autocorrect="off" autocomplete="off" required name="MERGE0" id="MERGE0" placeholder="Email Address" pattern="[a-z0-9._%+-]+@[a-z0-9-]+\.[a-z]{2,63}$" aria-label="Email Address">
<input id="sub-button" type="submit" class="submit-button" value="Submit" >
<span class="success-message"><span class="sr-only">We got you</span></span>
</div>
</form>

这是 PHP 中的 post 请求 (post.php)

if ( isset($_POST['email']) ) :

$data = [
'email' => $_POST['email']
];

if ( isset($_POST['platform']) ) :

$data["device"] = $_POST['platform'];

endif;

syncMailchimp($data);

endif;

这是 AJAX 请求:

        $.ajax({
type: "POST",
url: 'post.php',
data: data,
success: function(data, status) {

var message = JSON.parse(data).message;

if (message == "error") {

$('.email-form small').html('An error has occurred. Please try submitting again.');
smallHighlight();

} else if (message == "subscribed") {

$('.email-form small').html('You are already subscribed');
smallHighlight();

} else {

$('.email-form').addClass('form-success');
$('.email-form small').attr('style', '');

}

},

最佳答案

如果您想重定向到另一个页面,请将其放在表单成功提交后

window.location = "http://www.example.com/thankyou.html";

编辑:您不应该在 PHP 中处理此重定向,因为这是异步调用。您需要在提交脚本时以某种方式引用此内容

希望对你有帮助

关于javascript - 在调用 PHP 函数的 AJAX 请求后提交表单时重定向页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41831289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com