如何解决如何使用 XMLHttpRequest 仅使用 Javascript
我需要获取位于相似 URL 中的几个 JSON 文件的内容,并将这些内容放在一个数组中。 URL 之间的唯一区别是最后一个“/”之后的内容。我已经浏览了许多在 stackoverflow 中发布的类似解决方案,但我无法理解 XMLHttpRequest 究竟是如何工作的。
我根据自己的需要调整了 this solution,但我只能在控制台中显示每个 JSON 的数据(两次)。当我尝试将它分配给外部定义的数组以便以后能够使用这些数据时,它只是没有填充数组。
这是我做过的许多尝试之一:
var data=0
var jsonData[]
var request = new XMLHttpRequest();
(function loop(i,length) {
if (i>= length) {
return;
}
var url = "https://url.com/profile=" + profiles[i];
request.open("GET",url);
request.onreadystatechange = function() {
if(request.readyState === XMLHttpRequest.DONE && request.status === 200) {
data = JSON.parse(request.responseText);
console.log(data);
jsonData[i]=(data)
loop(i + 1,length);
}
}
request.send();
})(0,profiles.length);
也试过这种方式:
var data=0
var jsonData[]
for (var i = 0; i < profiles.length; i++) {
var url = "https://url.com/profile=" + profiles[i];
let request = new XMLHttpRequest();
request.open("GET",url);
request.onreadystatechange = function() {
if(request.readyState === XMLHttpRequest.DONE && request.status === 200) {
data = JSON.parse(request.responseText);
console.log(data);
}
jsonData.push(data)
console.log(data)
}
//console.log(data)
request.send();
//console.log(data)
}
提前致谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。