繁体   English   中英

将 XHR 请求存储到 javascript 变量中

[英]Storing XHR request into javascript variable

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

到目前为止,这是 javascript:

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

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

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

var myJSON = req.response;

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

XMLHttpRequest异步执行,这意味着您可以在从服务器获取数据后执行的回调中读取变量:

req.onreadystatechange = function () {
    if(req.readyState === 4 && req.status === 200) {
        var myJSON = req.response;
    }
};

您在开发工具中看到数据的原因是在您执行代码之后以及在开发工具中读取该变量之前会返回响应。

尝试准备好 state

   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;
        }
      };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM