我做了一个AJAX请求,返回一个JSON文件,我使用JSON.parse将它转换成一个数组,然而,当我试图遍历一些对象时,我得到的结果是'undefined‘,而不是来自JSON文件的数据。
function loadData() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var armoryNews = JSON.parse(this.responseText);
console.log(armoryNews["armorynews"][0]);
}
};
xhttp.open("GET", "https://api.torn.com/faction/8819?selections=armorynews&key=XXXXXXXXXX", true);
xhttp.send();
}
loadData();
这是我请求的JSON文件:https://pastebin.com/HGsxFcTM
我尝试过其他方法来获取这个文件,比如jsonp,但由于Access-Control-Allow-Origin的原因,这些方法都不起作用。
提前谢谢你
发布于 2018-07-15 02:52:21
试试这个:
var armoryNews = {
"armorynews": {
"250852079": {
"timestamp": 1531570578,
"news": "<a href = \"http://www.torn.com/profiles.php?XID=2143655\">3dubbeltjes<\/a> used one of the faction's Xanax items."
},
"250848543": {
"timestamp": 1531567903,
"news": "<a href = \"http://www.torn.com/profiles.php?XID=2072880\">Akine<\/a> used one of the faction's Xanax items."
},
"250847811": {
"timestamp": 1531567248,
"news": "<a href = \"http://www.torn.com/profiles.php?XID=2147631\">Silnt<\/a> used one of the faction's Bottle of Beer items."
}
}
};
var armorynewsKeys = Object.keys(armoryNews["armorynews"]);
armorynewsKeys.map(item => {
console.log(armoryNews["armorynews"][item]);
});
https://stackoverflow.com/questions/51338444
复制相似问题