关于jquery中$.ajax调用问题?……
昨晚我写个小程序,
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数据格式都没有问题,不知道什么问题,
请问哪位大侠指点小弟一下,莫非有个调用顺序问题?????
------解决方案--------------------这个是异步引起的。是说:你执行ajax方法时候,还没有执行完,没有到success 这一步,他们是并行时间往下走。所以执行了....,然后ajax执行完,调用success 里面的alert($("#text").text());在往下面走,执行alert($("#text").text());
------解决方案--------------------写在回调函数 success 里就可以了。
------解决方案--------------------Ajax异步执行的原因
alert($("#text").text()+"......");执行时还没有执行回调函数
其实你自己都已经把问题测试出来了的啊,回调函数里面的alert后执行,想一想你自己就该明白的