2012-04-02 132 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的本質要求是,「用戶可以瀏覽網站正常,而無需等待」即使他們正在運行,所以我不知道有一點什麼你正在嘗試做的。