按照規範我已經爲這個特定的項目給出了,我有幾十個AJAX請求都在同一時間啓動,並且結果顯示完成後儘快給出響應。當一個AJAX請求開始時檢測到
目前我已將所有項目顯示爲「正在加載...」,然後在請求完成時逐漸取代。
由於瀏覽器的限制,其中只有大約五個實際上是加載在任何給定的時間,其他人被阻止,直到早些完成。
我想知道是否有任何方法查明塊何時結束以及實際發送請求。使用onreadystatechange
檢測比4
其他readyState
值
初步測試並不樂觀 - 不會觸發事件,直到它的完成,在這一點上,我得到2
,3
和4
緊接着連續(請注意,測試,Ajax響應是人爲推遲usleep
ing隨機時間)
任何想法?或者,我是唯一真正的選擇手動實現阻塞部分?
你的意思是它是瀏覽器做阻塞;你向野外投擲10個請求,瀏覽器將只允許其中5個並行調用,其餘都被擱置。如果您沒有得到任何相關答案,您可能需要自己創建一個隊列,以便您可以在適當的時候開始請求。作爲最後的解決方案。 – Gimby
您可以驗證(通過您的網絡監視器)答覆是否實際上被延遲到足以使每個'readyState'轉換不同? – svidgen
@svidgen:我已經通過一個6秒睡眠的ajax目標測試了這一點。如2,3,4在6秒後連續觸發。這是[演示小提琴](http://jsfiddle.net/2nWCq/)。 – mithunsatheesh