本帖最后由 pj9811 于 2010-09-13 16:34:59 编辑

解决方案 »

  1.   


    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]]]
      

  2.   

    谢谢Inhibitory,能够解决问题,但不知为什么!
      

  3.   

    回调函数中的alert()语句会执行吗..
      

  4.   

     T.T  为嘛我写在回调函数中的alert()都不执行呢 挠头