gpt4 book ai didi

PHP 进程完成后,Javascript 重定向不会立即生效

转载 作者:行者123 更新时间:2023-11-28 03:57:47 24 4
gpt4 key购买 nike

嗨,我只是想知道为什么我的 javascript 重定向在我的 php 响应后不能立即工作?这是场景,1. 我正在向我的 php 脚本发送一个 post 请求。2.然后我的php脚本处理这个并返回一个字符串“ok”来标识该过程已完成(但我的脚本正在执行后台进程,这需要太长时间)。3. 如果字符串正常,我会将用户重定向到确认页面。但是在返回“ok”字符串后,我的重定向不会立即生效,似乎仍在等待 PHP 进程完成。下面是我的代码

<?php 
$success = $payment->do_payment();
if (!$success) {
throw new Exception("error on payment");
}

set_time_limit(0);
ignore_user_abort(true);
header("Connection: close\r\n");
header("Content-Encoding: utf-8\r\n");
ob_start();

echo "ok"; // This return to the frontend immediately

$size = ob_get_length();
header("Content-Length: {$size}", true);
ob_end_flush();
ob_flush();
flush();
// Below this line is a long php process that takes almost a minute
$this->veryLongProcessRunningOnBackground();

这是我的 jquery 请求

function payment_do_payment(token){
$.ajax({
url: '/payment',
data:{
mydata: "The data"
},
success: function(txt){
if (txt == "ok"){
console.log("done redirecting now");
window.location.href = "/confirmation-page";
}else{
alert("Failed to process");
}
},
type: 'POST'
});
}

最佳答案

您需要使用套接字连接之类的东西来执行此操作。

也许this post会有所帮助。

关于PHP 进程完成后,Javascript 重定向不会立即生效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47427142/

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