首页 > 解决方案 > 将 XHR 请求存储到 javascript 变量中

问题描述

在此处输入图像描述我无法存储我的 XHR 请求的响应。

这是到目前为止的javascript:

var req = new XMLHttpRequest;
req.open('get', 'https://jsonplaceholder.typicode.com/todos', true);
req.responseType = 'json';
req.send();

在 chrome 开发工具上,我可以看到响应是我想要的项目,所以请求应该没问题。它是状态 200 和状态 4。

当我尝试写作时,问题就出现了

var myJSON = req.response;

当我将此记录到控制台时,它会以“null”响应。但是,如果我通过开发工具将值重新分配给完全相同的值,我会得到我的 JSON 对象。有人可以向我解释为什么以及如何解决这个问题吗?

标签: javascriptxmlhttprequest

解决方案


尝试就绪状态

   var req = new XMLHttpRequest;
    req.open('get', 'https://jsonplaceholder.typicode.com/todos', true);
    req.responseType = 'json';
    req.send();
    req.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
          console.log(this.response);
var myJSON = this.response;
        }
      };

推荐阅读