如果您通过单击下面的链接查看到目前为止我所拥有的内容的来源,您会看到我遇到的问题。
- 我从包含游戏数据的 Ricky.json 获取 JSON 数据。
- 然后我尝试用一段 JSON 数据在文本字段中设置皮卡丘的名字,但它却说它是
undefined
.
我在 Chrome 上的控制台说对象“皮卡丘”存在,因为当我在控制台中警告它时,它返回“对象对象”。我还可以通过控制台使用 JSON.stringify() 对其进行字符串化。
为什么它在功能本身上不是全局的main()
,而是在其他任何地方呢???
function ChangeName(){
var n=prompt("What would you like to rename your Pikachu?",""+pikachu.pikaname+"");
pikachu.pikaname=n;
}
function main(){
try{
ajaxObj=new XMLHttpRequest();
pikaname=document.getElementById("pikaname");
age=document.getElementById("age");pikachu="";
ajaxObj.onreadystatechange=function(){
if(ajaxObj.readyState>=4&&ajaxObj.status==200){
pikachu=JSON.parse(ajaxObj.responseText);
}
}
ajaxObj.open("GET","players/Ricky.json",true);
ajaxObj.send();
pikaname.value=pikachu.pikaname;
}
catch(e){
alert(e);
}
}