我正在爲某些事情而苦苦掙扎。PHP和jQuery ajax調用不等待響應
我有一個PHP頁面,使用jQuery $.ajax
對另一個頁面執行ajax調用。它將請求異步發送到處理頁面,然後返回響應。
現在可以正常工作,但我們正在對後端進行一些更改,並且運行的處理(SQL存儲過程)現在花費的時間比5分鐘長。等待很好,因爲我們正在處理SQL中接近200MM的記錄。
事情是我需要能夠發送請求到處理頁面,而不必等待響應。處理頁面打完在PHP這樣的存儲過程:
$query = $dbh2->prepare('exec sp_name :countID');
$query->bindParam('countID', $countID);
$query->execute();
現在再次存儲過程需要一段時間來運行,我們不需要的,結果被呈現給用戶。雖然有一些額外的PHP代碼需要在存儲過程之後運行,但不需要將任何內容發送回瀏覽器。
我想弄清楚一種方式,我可以調用處理頁面,它運行存儲過程和其他代碼,但用戶的瀏覽器不需要等待響應。現在,如果嘗試過早地點擊頁面,它基本上會將瀏覽器鎖定一段時間,並且不會完成處理。
任何洞察這將是偉大的。
在此先感謝您的幫助。
也許使用http://php.net/manual/en/fun ction.exec.php,然後用它在服務器上執行一個文件並返回「ok」給瀏覽器。 – 2013-04-03 23:41:10
我想你想要的是異步PHP調用?[http://stackoverflow.com/questions/124462/asynchronous-php-calls] – Borik 2013-04-03 23:49:12