[javascript]<script>
var a;
$.getJSON('/some.json',{'action':'test'}, function(data) {
a=data.id;
alert(a);
});
alert(a);
</script>
[/javascript]
测试下来你会发现第一个alert是undefined,第二个才是data.id的内容
[javascript]<script>
$.getJSON('/some.json',{'action':'test'}, function(data) {
a=data.id;
});
alert(a);
</script>[/javascript]
这段js运行下来你会发现 a根本没有定义 js会直接报错。
这是为什么呢?
为什么$.getJSON得到东西在后面执行呢?
这是因为JQuery中AJAX默认是异步方式,所以会有延迟,如果一定要在外边调用,必须设置成同步的方式。
[javascript]<script>
$.ajaxSetup({ async: false});//设置成同步
$.getJSON('/some.json',{'action':'test'}, function(data) {
a=data.id;
});
alert(a);
</script>[/javascript]
这样就OK了
@Demon
自己动手试试吧?
看不懂你在写什么