2010-08-13 183 views
2

我們有一個jQuery應用程序,其中對同一個URL的某些請求可能比其他請求要長得多。用戶觸發ajax帖子(通過在UI中進行更改),這些會觸發獲取成功請求以更新UI。當最早的獲取請求需要很長時間時,後面的一個(這會更快)會延遲,直到較慢的一個在Chrome中完成,而不是IE。jQuery ajax請求:按請求順序調用的成功函數

POST1(與success1相關),返回OK迅速
POST2(與success2相關)
success1和2是相同的功能

現在


success1 - >獲取這需要很長的時間(我們想到這)
success2 - >找哪家應該快速返回(前應對success1)
(包括獲取,上面是相同的URL)

我們所看到的:
在IE:2成功完成迅速,在Chrome和FF後
success1完成:success2正在舉行,直到success1完成:-(

我們預計success2到success1前完成。

任何想法爲什麼FF和鉻延遲,以及我們可能做些什麼來診斷/修復?

+0

如果您需要success2完成之前success1,使請求的順序,又名使POST2,然後當它完成使POST1 .... – 2010-08-13 12:05:45

+0

POSTs是響應用戶輸入,我們不知道事先了解後續的GET會長還是短。 – Glenn 2010-08-13 12:14:29

回答

0

是否有機會提供遇到此問題的精確代碼,客戶端?我寧願分析你的代碼來確定問題並修復,而不是發明一些我自己的代碼,這可能會或可能不會表現出問題。問候

+0

感謝Jim的提議 - 重新創建有點複雜,因爲您需要有一個服務器端,它也模擬了一個Ajax調用得到快速響應而另一個緩慢的事實。最後,我們使用http://code.google.com/p/jquery-ajaxq/實現了一個Ajax請求隊列,我們​​對這些請求進行了更細緻的控制。 – hwjp 2010-09-28 10:55:25