我在页面上有一个通用的$.ajax()
请求及其相应的success
和error
参数,如下所示:
$.ajax({
type: 'GET',
url: getUrl,
async: true,
success: function(data) {
$("#page").html(data);
if (slide) {
$("#page").slideDown(500);
}
},
error: function () {
var data = '<span id="heading">Error</span>'
+'<p>The page you requested could not be loaded.</p>';
$("#page").html(data);
if (slide) {
$("#page").slideDown(500);
}
}
});
我想知道的是,如果请求花了很长时间(比方说,5秒),我该如何显示一些内容告诉用户该请求仍处于活动状态?由于网络服务器速度缓慢或者请求非常繁重,可能需要一些时间。
就我而言,我会在页面上显示一个预先加载的“loading.gif”类型的图像。在提出请求后插入它的最佳方法是什么?
答案 0 :(得分:0)
通常,您应该在开头显示它。这很容易!请继续阅读:jQuery: AJAX Preloader
答案 1 :(得分:0)
您可以使用setTimeout和clearTimeout:
在提出请求之前:
waitId = setTimeout(showWaitIcon, 5000);
成功与错误:
hideWaitIcon();
clearTimeout(waitId);