PHP继续执行脚本,但将客户端重定向到其他地方

PHP继续执行脚本,但将客户端重定向到其他地方,php,wordpress,Php,Wordpress,结合使用 ignore\u user\u abort(真); 设置时间限制(0); 由于服务器已经在处理数据,是否可以将客户端发送到另一个页面。由于用户只需在点击提交后关闭浏览器,而不是等待页面,我想将他们发送到另一个页面,然后在脚本完成后向他们发送电子邮件 假设用户刚刚提交了一个长表单,现在发生了几个操作 首先对数据进行验证 失败时,会向用户发送一封电子邮件,说明失败原因 一旦成功,我们就进入下一步 现在,提交到表单中的视频被发送到我们的视频服务器 失败时发送电子邮件 成功后,进入下一步 现

结合使用

ignore\u user\u abort(真);
设置时间限制(0);
由于服务器已经在处理数据,是否可以将客户端发送到另一个页面。由于用户只需在点击提交后关闭浏览器,而不是等待页面,我想将他们发送到另一个页面,然后在脚本完成后向他们发送电子邮件

假设用户刚刚提交了一个长表单,现在发生了几个操作

首先对数据进行验证 失败时,会向用户发送一封电子邮件,说明失败原因 一旦成功,我们就进入下一步

现在,提交到表单中的视频被发送到我们的视频服务器 失败时发送电子邮件 成功后,进入下一步

现在,该用户已作为联系人添加到我们的CRM中 失败时发送电子邮件 成功后,进入下一步

现在用户数据全部输入数据库 失败时发送电子邮件 成功后,将发送电子邮件并将用户重定向到下一页


我想做的是在用户提交时,用户会立即重定向到下一页,而服务器会处理所有事情。使用AJAX提交请求,而不是等待回复,使用javascript重定向到下一页

假设您有JQuery:

<script>

$('#submitButtonId').click( function() {
    $.ajax({
        url: 'some-url',
        type: 'post',
        // dataType: 'json', 
        data: $('form#myForm').serialize(),
        success: function(data) {
          // do nothing      
        }
    });

    // redirect
    window.location.href = "http://your_redirect";
});

</script>

$('#submitButtonId')。单击(函数(){
$.ajax({
url:“某个url”,
键入:“post”,
//数据类型:“json”,
数据:$('form#myForm')。序列化(),
成功:功能(数据){
//无所事事
}
});
//重定向
window.location.href=”http://your_redirect";
});

对于长进程,使用异步方法。使用任何队列RabbitMQ/Kafka,将您的请求添加到队列并将用户重定向到另一个页面。现在在服务器端,消费者可以从队列中提取请求,处理请求并通知用户。
MySql也可以实现这一点,使用MySql作为队列,但它在锁定和定期扫描请求方面极不受欢迎。

看看这一点:看起来它走上了正确的轨道,并使流程停滞不前。但是,关于这一点的公认答案是如此令人困惑,我不知道如何在我的案例@niCkcAMel中使用它