昨晚我写个小程序,
js文件中
$(function(){
     $.ajax({
        url: 'publishbar.json',
        dataType: 'json',
        success:function(){
          $("#text").text("123");
                    alert($("#text").text());
        }
       });
       alert($("#text").text()+"......");
       $("#test").click(function(){
           alert($("#text").text());
        });
});在html页面中
……
<div id="text" style="width:100px;height:100px;background:red;"></div>
<input type="button" id="btn" value="test">
……运行页面,结果先弹出提示框中的信息是“....”
然后又弹出信息提示“123”,
点击按钮,却能弹出“123”,
提示:json数据格式都没有问题,不知道什么问题,
请问哪位大侠指点小弟一下,莫非有个调用顺序问题?????

解决方案 »

  1.   

    这个是异步引起的。是说:你执行ajax方法时候,还没有执行完,没有到success 这一步,他们是并行时间往下走。所以执行了....,然后ajax执行完,调用success 里面的alert($("#text").text());在往下面走,执行alert($("#text").text());
      

  2.   

    写在回调函数 success 里就可以了。
      

  3.   

    Ajax异步执行的原因
    alert($("#text").text()+"......");执行时还没有执行回调函数
    其实你自己都已经把问题测试出来了的啊,回调函数里面的alert后执行,想一想你自己就该明白的