在执行了一些javascript指令后如何加载html文档?

时间:2018-02-17 14:05:17

标签: javascript html api document

我使用API​​在页面上显示一些数据。所以我创建了一个XMLHttpRequest对象,设置了URL并发送请求以获取要显示的数据。 现在,当我加载页面时,它会显示占位符文本一秒钟,然后才能获得实际数据。我认为还有延迟,因为我还将JSON转换为对象然后再显示。

有没有办法解决这个问题。我想我可能无法减少API提取造成的延迟。那么,在获取数据之前,我可以让我的页面不加载吗?

    request.onload = function() {
          var obj;
          obj = JSON.parse(request.response);
          var str = "stock";
          for(var i = 0; i < 10; ++i)
          {
          //Here I set the innderHTML of a list with the API data.
          }
      };

2 个答案:

答案 0 :(得分:0)

正常行为之一是设置加载程序并正确设置其显示状态。看看下面的问题。 Show loading image while $.ajax is performed

答案 1 :(得分:0)

只需使用相应的全局事件处理程序:onreadystatechange

var xhr = new XMLHttpRequest(),
    method = "GET",
    url = "https://developer.mozilla.org/";

xhr.open(method, url, true);
xhr.onreadystatechange = function () {
  if(xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
    console.log(xhr.responseText);

    // your code here


  }
};
xhr.send();

https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/onreadystatechange