我有一個大型的「補充」數據表,它是在頁面加載時從大量ajax請求中填充的。這些請求可能需要1分鐘才能完成。在加載此數據時,用戶可以在調用其他Ajax請求的頁面上執行操作。我遇到的問題是調用附加ajax請求的用戶操作在隊列中的所有其他ajax請求都處理完畢之前未完成。這是由於使用了所有同域瀏覽器連接和jQuery ajax隊列。jQuery AJAX隊列優先
不幸的是,更改子域不是一個選項,也不是設置同步隊列以便不使用所有相同的域連接。
我想要的是一個選項來「優先」請求,首先放置用戶請求。
有沒有簡單的方法來完成這與jQuery的ajax隊列?
編輯:
如果沒有管理請求隊列的方式(因爲它開始出現),可以在$就功能回調beforeSend被用於「延遲」的排隊的請求?
我認爲你遇到的限制是瀏覽器限制,與jquery無關,除了jquery爲你發起請求。你可能會改用一些其他的Ajax請求來減少它們需要執行的數量到一個更小的數量嗎? – 2012-01-30 16:27:29
最後,我創建了一個全局對象,它維護對所有ajax請求的引用。然後我重寫了我的ajax請求,如果我想取消並重新啓動它們,那麼它會更加寬容一些。這意味着如果事務完成了100%,就會跟蹤元素本身。最後,在我的用戶發起的操作中,我呼籲停止所有當前和未決的Ajax請求,併發出用戶啓動的操作。然後我重新啓動所有其他的Ajax請求。因爲我跟蹤了以前請求的完成狀態,所以我可以跳過已經完成的請求。 – 2012-08-02 12:20:29