将XHR响应数据加载到索引HTML页面

普洪吉

我有一个.NET api端点,该端点返回匿名数据,并且客户端通过Promise接收到了这些数据,如下所示:

function getDataByPromise(method, url) {
  return new Promise(function (resolve, reject) {
    let xhr = new XMLHttpRequest();
    xhr.open(method, url);
    xhr.send();
    xhr.onload = function () {
      if (this.status >= 200 && this.status < 300) {
        resolve(xhr.response);
      } else {
        reject({
          status: this.status,
          statusText: xhr.statusText,
        });
      }
    };
    xhr.onerror = function () {
      reject({
        status: this.status,
        statusText: xhr.statusText,
      });
    };
  });
}

或像这样通过回调:

function getDataByCallback(method, url, done) {
  let xhr = new XMLHttpRequest();
  xhr.open(method, url);
  xhr.send();
  xhr.onload = function () {
    done(null, xhr.response);
  };
  xhr.onerror = function () {
    done(xhr.response);
  };

或通过异步/等待

async function getDataByAsyncAwait() {
  try {
    console.log("By Async Await");
    await getDataByPromise(method, url);
  } catch (error) {
    console.log(error);
  }
}

或通过像这样的普通XHR:

function getDataByXHR(method, url) {
  let xhr = new XMLHttpRequest();
  xhr.open(method, url, true);
  xhr.onload = function () {
    console.log("By XHR: ");
    console.log(xhr.response);
    let gameSettings = JSON.parse(xhr.response);
    this.data = gameSettings;
    waitAsyncAwait(this.data);
    waitPromise(this.data);
  };
  xhr.onerror = function () {
    console.error("An error occur getting the XMLHttpRequest");
  };
  xhr.send();
}

如何通过按按钮或到表格在html文件中显示这些JSON对象?我应该将函数加载到这样的按钮中吗?

<button onclick="">Get Data By Normal XHR</button>

如果是这种情况,那么我应该将XHR请求的响应保存到某种数组或const或变量中并显示它们吗?还是我应该采取其他方法在HTML dom上显示XHR响应?

胡拉姆·谢赫(Khurram Shaikh)

这是一个例子:

var url = "https://sourceforge.net/projects/kaais/files/stats/json?start_date=2013-08-18&end_date=2018-04-19";

var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
  if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
    document.getElementById('output').innerHTML = JSON.parse(xmlHttp.responseText).total;
}
xmlHttp.open("GET", url, true);
xmlHttp.send();

HTML:

<div id="container">
  <div id="output">NO DATA</div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将XHR数据加载到React Redux路由页面中时,事件的顺序是什么?

来自分类Dev

将json响应数据加载到网格

来自分类Dev

将外部 JSON 数据加载到 html

来自分类Dev

如何将JSON URL响应数据加载到tableView?

来自分类Dev

将数据从TEXT文件加载到JSP Servlet页面

来自分类Dev

将页面数据加载到div中的最佳方法

来自分类Dev

将PHP页面加载到HTML div中

来自分类Dev

使用jQuery将html页面加载到div中

来自分类Dev

将HTML页面加载到Rails服务器中

来自分类Dev

如何将pdf文件加载到html页面?

来自分类Dev

将外部导航栏加载到多个 html 页面中

来自分类Dev

从txt加载数组将数据加载到html中

来自分类Dev

使用 Jquery 将另一个 url 加载到 html 页面加载相同的页面

来自分类Dev

无法将XML数据加载到表标签HTML

来自分类Dev

将HTML数据加载到各种视图中

来自分类Dev

如何通过.js将json数据加载到html

来自分类Dev

将值从数据库加载到html选择输入

来自分类Dev

将数据从sql加载到html中的列表

来自分类Dev

使用标签将每个表数据加载到html表

来自分类Dev

将 html 页面加载到 html 页面会禁用滚动条

来自分类Dev

将数据加载到Hadoop

来自分类Dev

将数据加载到 Rstudio

来自分类Dev

Ajax的页面滚动效果如何将数据加载到页面中

来自分类Dev

将html文件中博客文章的内容加载到模板中,然后加载到索引文件中

来自分类Dev

从数据库加载到WordPress页面

来自分类Dev

将页面加载到QWebView时覆盖

来自分类Dev

使用javascript将页面加载到iframe

来自分类Dev

将aspx页面加载到<ext:Panel>

来自分类Dev

地图未加载到HTML页面中