var a=0;
$.ajax({
type: "GET",
url: "...",
dataType: "json",
success:function(){
a=1;
}
});
如果你把alert(a);这句代码放到距离很远的位置
可能会弹窗是1
原因:
因为ajax是异步的,所以在success函数回调之前,ajax后面的代码已经执行完,也就是说alert(a);在success函数前面执行
所以不能正常赋值
解决办法将ajax变成同步
添加一行
async:false即可
$.ajax({
type: "GET",
url: "...",
dataType: "json",
success:function(){
a=1;
}
});
alert(a);
后台执行一些耗时的操作
如果你把alert(a);这句代码放到距离很远的位置
可能会弹窗是1
原因:
因为ajax是异步的,所以在success函数回调之前,ajax后面的代码已经执行完,也就是说alert(a);在success函数前面执行
所以不能正常赋值
解决办法将ajax变成同步
添加一行
async:false即可