我正在使用Ajax方法来检索数据,有没有办法在执行流程时实现加载计时器?
干杯
答案 0 :(得分:3)
在带有ajaxLoader.gif
css的div
中添加style="display:none;"
spinny动画图片,然后在您的AJAX回发开始时,再次致电.show()
然后.hide()
查询完成时的回调。如果要显示/隐藏所有AJAX回发的加载程序,也可以使用ajaxStart()
和ajaxComplete()
事件。
答案 1 :(得分:2)
很明显加载时间会有所不同,定时器可能不是最好的选择,但你可以做的就是拥有一个这样的图像
<img src="preloader.gif" id="Preloader" style="display:none;" />
您可以从preloaders.net
然后在jQuery中,如果你正在使用它。在请求之前显示预加载器。
$("#Preloader").show();
$.ajax({
url: "test.html",
context: document.body,
success: function(){
// On success hide the preloader
$("#Preloader").hide();
},
error: function(){
// On error hide the preloader as well
$("#Preloader").hide();
}
});
答案 2 :(得分:1)
您可以使用$.ajaxStart()
和$.ajaxComplete()
,它们允许您在启动/完成Ajax调用时绑定处理程序。
否则我认为没有办法衡量通话的进度。
答案 3 :(得分:1)
由于调用是异步的,并且无法确定何时/是否完成请求,因此无法执行实际的定时器。如果您使用的是jQuery,则可以使用ajaxStart()/ ajaxComplete()方法来显示加载图像或其他内容。