这不是我第一次使用ajax等,我想使用jQuery函数$ .getJSON
我写了以下内容:
var newIMG;
function random_img(){
$.getJSON('content/random.php',function (data){
newIMG = data;
})
alert(newIMG.ERROR);
}
Run Code Online (Sandbox Code Playgroud)
但由于某些原因,我在JSON请求发出后无法访问newIMG变量.以某种方式将它从$ .getJSON函数传递给random_img()函数也可以(更好,实际上)
这真的很奇怪,我无法弄清楚这里有什么问题.
http://i.stack.imgur.com/OShao.jpg firebug控制台的屏幕截图,可以更好地解释一下.
先谢谢你们.
这是因为您在JSON请求返回之前尝试发出警报(getJSON是异步的)所以当它第一次尝试提醒它时,它是未定义的.
将警报移动到回调中:
$.getJSON('content/random.php',function (data){
newIMG = data;
alert(newIMG.ERROR);
});
Run Code Online (Sandbox Code Playgroud)
您对$ .getJSON的调用是异步的,这意味着alert(newIMG.ERROR)将在Ajax调用返回值之前对其进行评估.您需要在回调中放置警报调用:
var newIMG;
function random_img(){
$.getJSON('content/random.php',function (data){
newIMG = data;
alert(newIMG.ERROR);
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2275 次 |
| 最近记录: |