jquery的ajax问题

项目中遇到个很是诡异的问题:经过排除终于找到问题所在!!(ajax执行顺序不是至上而下的!)
JS代码真纠结,有时间还真的学学火狐那Firebug呀 , 没用工具也能定位这个问题的出处,还是不错的呵呵!
var flag = false;
$.getJSON(url, params, function(data) { 
    // jQuery的AJAX默认使用的是异步方式执行
    // 所以语句[[[2]]]绝大数时候都比这里先执行,这里相当于使用了一个新的线程来执行。
    // 如果想使用AJAX使用同步的方式执行,即必须先执行完这里,再执行[[[2]]],
    // 那么必须把设置async: false
    flag = true;
    alert(flag); // true
});

alert(flag); //false [[[2]]]


修改为:
var flag = false;
$.ajaxSetup({
  async: false // 使用同步方式执行AJAX
});

$.getJSON(url, params, function(data) { 
    flag = true;
    alert(flag); // true
});

alert(flag); //false [[[2]]]

你可能感兴趣的:(jquery)