0
我想在ajax调用之前和期间向用户显示“加载程序”。这里的代码(简化版...)多个jQuery的HTML()分配不工作
$(document).ready(function() {
$("#btn").click(function(){
$("#log").html("loading ajax call...");
anotherFunc();
});
});
function anotherFunc(){
$.ajax({
type: "GET",
url: correct_url,
data: data_to_send,
dataType: "jsonp",
success: function(data){
$("#log").html("new html");
}
})
}
问题是“加载ajax调用...”从不出现。我只看到“新的html”显示。单曲阿贾克斯#log修改调用工作完全独自(没有其他)
有没有另一种方法呢? 我做错了什么?
ps。我也尝试在另一个id(#log2)中写入相同的结果。
最有可能您的'.ajax'具有'async:false'。将其更改为'async:true'(或将其完全移除),它将起作用。 – 2013-02-27 22:00:37
显示'(...)'里面的东西你确定你的ajax调用没有很快完成吗?你使用的是什么浏览器?不同的浏览器以不同的速度渲染,如果你的ajax调用速度非常快,那么你将永远看不到加载字符串。 – Brandon 2013-02-27 22:01:01
难道这只是因为AJAX调用返回得如此之快以至于您只是看不到原始文本? – Steve 2013-02-27 22:01:11