1

当前代码

  $.ajax({
        type: "GET",
        url: "http://xSSHplusx.api.channel.livestream.com/2.0/livestatus.xml",
        dataType: "xml",
        success: function (xml) {


        var xmlDoc = $.parseXML(xml),
            $xml = $(xmlDoc);

    if($xml.find('ls:isLive').text()=='true'){
         player.load('SSHplus');
         }
         else{
            player.load('SaveStateHeroes');
           }
    }
});

我需要找到一种方法,每隔几秒重复一次检查,以便从 XML 输出中获取更新,以实际测试状态何时从 false 变为 true

4

2 回答 2

0

ajax在呼叫成功或错误成功后,我会超时。这种结构确保您不会在前一个完成之前拨打电话(网络拥塞)。

function doYourThing() {
  $.ajax({
     type: "GET",
     url: "http://xSSHplusx.api.channel.livestream.com/2.0/livestatus.xml",
     dataType: "xml",
     success: function (xml) {
       var xmlDoc = $.parseXML(xml),
       $xml = $(xmlDoc);

       if($xml.find('ls:isLive').text()=='true'){
         player.load('SSHplus');
       } else{
         player.load('SaveStateHeroes');
       }

       setTimeout(function() {
          doYourThing();
       }, 2000); /* timeout in ms */

    }
  });
}
于 2013-08-06T06:42:39.487 回答
0
var intervalId = window.setInterval(function() {
  // insert the code you wrote
  },
  5000 // or whatever number of milliseconds counts as "a few"
);

当您想停止检查时:

window.clearInterval(intervalId);
于 2013-08-06T05:28:21.593 回答