使用javascript /其他客户端脚本语言我需要显示http get请求的结果,并且每隔X秒更新一次而不刷新。我正在使用的api是外部的,其工作方式如下: 你发送一个请求,没有参数,它返回一个数字。我需要在静态html网站上显示它,并且每2秒实时更新一次。
到目前为止,我已经能够使用Math.random()
和setInterval等函数进行实时更新,但我的麻烦是在JavaScript中向外部域发出GET请求。我有一个工作的PHP脚本提供结果,但我不知道如何将其集成到JS
答案 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);