在你的帮助下我得到了:
function send(){
$.get("/site/send.php", function(data){
alert(data);
}
}
在 site/send.php 中我有:
for($=0;$i++;$i<1000)
sleep(1);
}
echo "OK";
接下来我的 js 文件中有:
send();
$("#click").click(function(){
window.stop(); // this cancel XHR
$.get("/site/reset.php", function(data){
alert(data);
}
})
在reset.php中:
echo "RESET";
窗口.stop();取消我的 XHR 但这仍然无法正常工作。我取消了 XHR,但仍然必须在函数 send() 中等待 sleep(1000)。这不会返回任何内容,但仍然继续执行。仅当 sleep > 1000 时,/site/reset.php 才会开始执行。
在这个例子中我如何取消 PHP 函数?
是否可以检查 PHP 文件检查 XHR 是否仍然存在?
最佳答案
以下任何一项都可能有效:
ignore_user_abort(false);
for ($=0;$i++;$i<1000) {
if (connection_aborted()) break;
for ($=0;$i++;$i<1000) {
if (connection_status() != CONNECTION_NORMAL) break;
关于php - 使用 XHR 取消 PHP 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8473668/