实时更新获取请求

时间:2016-07-09 16:06:41

标签: javascript php html http get

使用javascript /其他客户端脚本语言我需要显示http get请求的结果,并且每隔X秒更新一次而不刷新。我正在使用的api是外部的,其工作方式如下: 你发送一个请求,没有参数,它返回一个数字。我需要在静态html网站上显示它,并且每2秒实时更新一次。

到目前为止,我已经能够使用Math.random()和setInterval等函数进行实时更新,但我的麻烦是在JavaScript中向外部域发出GET请求。我有一个工作的PHP脚本提供结果,但我不知道如何将其集成到JS

2 个答案:

答案 0 :(得分:1)

我强烈建议在api调用成功后再次调用该函数。使用setInterval的解决方案即使出现错误也可能会破坏站点。此外,请求执行

的时间可能超过2秒

为了简单起见,我在这里使用jQuery

在成功中使用setTimeout:

function getIt() { 
  $.get("url",function(data) { 
    $("#container").text(data); 
    setTimeout(getIt,2000);
  });
}
getIt();

如果URL是跨域名,您可能需要查看JSON和CORS: How to get a cross-origin resource sharing (CORS) post request working

答案 1 :(得分:-1)

只需使用Ajax和setInterval():

setInterval(function(){ 

//your Ajax call goes here 

}, 2000);