实时更新获取请求


Live Update Get Request

使用javascript/另一种客户端脚本语言,我需要显示http get请求的结果,并在不刷新的情况下每X秒更新一次。我正在使用的 api 是外部的,工作原理如下:你向它发送一个请求,没有参数,它返回一个数字。我需要在静态 html 站点中显示它,并每 2 秒实时更新一次。

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

我强烈建议在 api 调用成功后再次调用该函数。使用 setInterval 的解决方案可能会锤击站点,即使它给出错误。此外,请求可能需要超过 2 秒的时间才能执行

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

在成功中使用 setTimeout:

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

如果 URL 是跨域的,您可能需要查看 JSON 和 CORS:如何使跨域资源共享 (CORS) 后请求正常工作

只需使用 Ajax 和 setInterval():

setInterval(function(){ 
//your Ajax call goes here 
}, 2000);