php - 使用 XHR 取消 PHP 脚本?

标签 php javascript jquery ajax xmlhttprequest

在你的帮助下我得到了:

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/

相关文章:

php - 使用 python 或 php 处理音频文件

php - 我将如何使用 PHP 异常来定义重定向?

php - 在 Qunit 测试中使用 Zend 局部 View 助手

javascript - Knockout.js 模型更新时 Moment.js 损坏

javascript - 单击按钮时突出显示第 n 个子隐藏内容使用 jquery

JavaScript 平滑滚动解释

php - 导航栏和无序列表

javascript - 如何检查输入字符串是否是有效的正则表达式?

Javascript:根据输入匹配数据列表选项

javascript - 以纯文本和html格式显示ajax的响应