【问题标题】:getJSON: how to try to get some url until success in every 0.5 second?getJSON:如何在每 0.5 秒内尝试获取一些 url 直到成功?
【发布时间】:2012-02-03 06:43:08
【问题描述】:

所以目前我只使用一次简单的尝试:

$.getJSON("server.json", function(data) {
        servicesList.render(data);
});

不知道如何每0.5秒尝试一次直到成功?

【问题讨论】:

    标签: javascript jquery json loops


    【解决方案1】:
    function getFromServer(){
      $.getJSON("server.json", function(data) {
              // Verify your data, if it's not you want run error function 
              if(!data){ onerror(); return; }
              servicesList.render(data);
      }).error(function() { onerror(); });
    }
    
    // if error ,run it again.
    function onerror(){
        setTimeout(function(){getFromServer();},500);
    }
    

    您可以通过此链接找到 $.getJSON API 帮助: http://api.jquery.com/jQuery.getJSON/

    【讨论】:

      【解决方案2】:

      试试这个逻辑:

      function update_it() {
        $.ajax({
          url: 'server.json',
          dataType: 'json',
          success: function(data) {
            servicesList.render(data);
          },
          error: function() {
            setTimeout('update_it', 500);
          }
        });
      }
      

      如果失败,它会等待 500 毫秒然后调用函数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-02-23
        • 2015-01-03
        • 2012-09-08
        • 2014-04-21
        • 2016-02-16
        • 2014-03-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多