2012-04-02 131 views
1

我有需要的背景和与jQuery的PHP没有响应函数

ignore_user_abort(true); 

帮助脚本甚至可以运行关闭浏览器中运行的PHP脚本。

但我不希望每次关闭浏览器,

$.ajax({ 
     type: 'POST', 
     url: 'myphp.php', 
     data: values, 
      success: function(re) {alert("somthing");} 
}); 

浏览器总是等待Ajax响应即使没有success:

提的是,有没有什么办法阻止浏览器的等待时间,使用户可以正常浏览网站而无需等待PHP脚本的完成。与 jQuery XHR

var xmlHttpRequest = $.ajax({ 
    //.... 
}); 

xmlHttpRequest.abort(); 

回答

0

手柄请求。在你的PHP代码开始尝试把这个:

ob_start(); 
ob_end_flush(); 

,将发送内容到您的AJAX脚本并停止它。

我没有尝试所以它只是一个想法;)

+0

感谢您的回复,遗憾的是它不工作。浏览器不断等待(忙碌)。有没有办法让'afterSend' – fmask 2012-04-02 05:05:05

0

你可以尝试

fclose(STDIN); 
fclose(STDOUT); 
fclose(STDERR); 

虽然apparently它是否有效取决于确切的PHP版本。或者您可以在一段时间后终止客户端的AJAX调用(可能在您开始接收内容之后)。

也就是说,AJAX的本质要求是,“用户可以浏览网站正常,而无需等待”即使他们正在运行,所以我不知道有一点什么你正在尝试做的。