2014-09-21 57 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

相关问题