2011-05-31 55 views
0

目前我正在做一個jQuery發佈從服務器獲取一些數據。 在標準情況下返回一個大的JSON。Ajax帖子,repsonse沒有收到

這次調用第一次運行需要大量的處理時間(我見過長達15分鐘,我們計劃創建工作進程以在後臺構建這些進程並將進度轉發給客戶端)處理完成後,我們將其存儲在緩存中並將JSON返回給用戶。

在這兩種情況下,我們都會向客戶端返回完全相同的JSON,唯一的區別是,如果緩存已構建,它會在幾毫秒內返回,如果未構建緩存,則可能需要很長時間客戶端接收響應。

當它在服務器上運行時,如果請求需要很長時間,客戶端永遠不會收到ajax響應,但服務器確實完成了進程(訪問日誌顯示200 statusCode)並存儲緩存。爲了在我的本地主機上參考,ajax響應總是被接收到,無論時間如何(或者迄今爲止我所見過的)。

簡而言之,我們創建一個ajax帖子,如果需要很長時間,帖子響應永遠不會被接收,並最終無限期地等待。

這聽起來像是PHP或服務器端設置,但我似乎無法找到問題。

任何想法或幫助非常感謝。

+0

PLZ描述與您的代碼;謝謝 – diEcho 2011-05-31 08:11:07

回答

0

聽起來像你需要增加ajax請求的超時?

超時是在基部的jquery AJAX方法的一個選項 - http://api.jquery.com/jQuery.ajax/

+0

默認情況下,jquery是否有超時限制?這不能解釋爲什麼代碼在本地主機上工作(同樣長,如果不是更長),並且jquery處理它很好。 – Darryl 2011-05-31 08:19:44