【发布时间】:2018-04-22 20:12:06
【问题描述】:
我正在为我的战场 1 氏族制作一个网站,在这个网站上我想展示这个氏族中的每个玩家以及他们的一些游戏内统计数据。 玩家列表存储在数据库中,我将从api 获取统计信息 .这意味着我将首先使用 ajax 从数据库中获取玩家列表,然后循环它们以通过该循环中的第二个 ajax 调用获取玩家统计信息。
在我运行我的代码之前,这一切听起来很有趣和游戏,有时并不是所有的请求都成功,每当我试图显示一个显示名称时,它总是会显示上次调用的那个。
这是我的代码:
$(document).ready(function() {
$.ajax({
url: 'playerlist.php',
method: 'POST',
data: {
playercheck: 1,
},
success: function(response) {
var len = response.length;
for (var i = 0; i < len; i++) {
var psnid = response[i].psnid;
// second ajax
var request = new XMLHttpRequest();
request.open('GET', 'https://battlefieldtracker.com/bf1/api/Stats/BasicStats?platform=2&displayName=' + psnid);
request.setRequestHeader('TRN-Api-Key', '125a7cbe-1bbe-45d4-9f70-3aa838fc7535');
request.onreadystatechange = function() {
if (this.readyState === 4 && this.status == 200) {
console.log('Status:', this.status);
console.log('Headers:', this.getAllResponseHeaders());
console.log('Body:', this.responseText);
var result = JSON.parse(request.responseText);
console.log(result);
$("#userTable").append(result['profile']['displayName']);
}
};
request.send();
// end second
}
},
dataType: "json"
});
});
如果你们能告诉我造成这种情况的原因并帮助我找到解决方案,那就太好了。 提前致谢!
【问题讨论】:
标签: javascript jquery ajax loops