我主要是一个自学成才的程序员,最近我一直在搞乱英雄联盟 API,它使用了我以前没有使用过的 JSON。
这是我检索玩家 ID 的代码的一部分:
function RiotAPI(phrase) {
...
this.request = function() {
return $.ajax({
url: url,
type: 'GET',
dataType: 'json',
data: {
},
});
}
}
function getID(key, name) {
phrase = getPhrase(2, key, 0, name);
api = new RiotAPI(phrase);
api.request().done(function(data)
{
window.console&&console.log(data[name]['id']);
document.getElementById("sID").innerHTML = data[name]['id'];
});
}
在这种情况下,控制台会正确地将数据记录在 data[name]['id'] 中。但是,如果我做类似的事情
id = data[name]['id']
那么变量'id'是未定义的。我知道这是由于 json 的性质造成的,但是处理这种情况的常用方法是什么?
现在我有
document.getElementById("sID").innerHTML = data[name]['id'];
令人惊讶的是,它确实有效,它的功能就像一个非常悲伤的变量。显然必须有更好的方法来处理这个问题,对吧?
谢谢