【发布时间】:2017-03-14 20:32:20
【问题描述】:
所以我正在使用 API 来获取《战地风云》的统计数据。该级别返回一个数字,我使用开关来确定该级别的名称,因此无论用户名是什么或用户排名如何,都将使用开关进行更新。但是,当我访问“等级”变量时,它没有出现,因为它说级别未定义,因此开关根本不起作用。
var rank;
var level;
$(document).ready(function() {
ajaxSearch();
});
function ajaxSearch() {
$.ajax({
url: '/api/',
dataType: 'json',
type: 'get',
cache: 'false',
success: function(data) {
$(data.result).each(function(index, value) {
level = value.rank.number;
console.log(level);
});
}
})
}
function workoutRank() {
switch (level) {
case '0':
rank = 'Recruit';
break;
case '1':
rank = 'Private';
break;
case '2':
rank = 'Private II';
break;
case '3':
rank = 'Private III';
break;
case '4':
rank = 'Private IV';
break;
case '19':
rank = 'Corporal X';
break;
}
}
$('#lookup-btn').click(function() {
workoutRank();
console.log(rank);
});
这是控制台的图像。 Console
【问题讨论】:
-
非常抱歉,现在更新问题。
-
@AndrewLi 问题已更新。
-
嗯。您正在循环,并在每次迭代中设置级别。 level 只能包含一个值,为什么要循环?
-
添加Ajax的切换成功。 Ajax 是异步的!
-
@LelioFaieta 所以正在点击一个元素,可能会在此之前完成 ajax。
标签: javascript jquery ajax api variables