2014-09-21 54 views
0

我有jquery.ajax總是向服務器請求數據。我的問題是當我點擊某個導航菜單時我無法導航它太慢了。我試圖評論成功內的方法,它工作正常,我可以很快導航,因爲沒有請求運行...任何想法如何使這項工作有請求同時運行,我可以導航到其他頁面。?。運行jquery.ajax導致在導航到其他頁面時速度減慢

更多的輸入信息非常感謝。

預先感謝您。

$(function(){ 
     getUpdates(); 

    }); 


    function getUpdates(){ 
      type: "GET", 
      dataType:'json', 
      url: "updates.php", 
      error: function() { 
       setTimeout(getUpdates, 5000); 
      }, 
      success: function(data){ 
       //do something with the data 
       ... 
       ... 
       ... 
       getUpdates(); //call again the function 

      } 

     }); 

    } 
+0

嘗試使用'setTimeout(getUpdates,5000);''inside'success:',而不是'getUpdates();' – ariel 2014-09-21 14:46:04

回答

1

一旦前一個請求結束,開始一個新請求並不是一個好主意。對於你的問題沒有(好的)解決方案 - 最好的想法是重構你的代碼。由於您經常在服務器中搜索新信息,因此您可能需要查看CometSocket.IO以從服務器實施某種推送機制。

這就是說,對於簡單的加速,最好的辦法是在成功函數中添加一個超時,就像你對錯誤函數做的那樣。

+0

好吧我會盡量在我的成功中超時。 – kelly123 2014-09-21 15:08:41

+0

如何在我的jquery.ajax中實現socket I.O? – kelly123 2014-09-21 15:13:22

+0

是5秒就夠了還是它太快了? – kelly123 2014-09-21 15:26:08

相關問題