扩展jQuery的ajax功能

时间:2011-12-02 15:14:04

标签: javascript jquery ajax

我想扩展ajax函数,以便无论何时调用它,页面上都会出现一个图像,指示内容已加载。

我可以使用本页http://api.jquery.com/extending-ajax/中讨论的预过滤器来显示图像,但是一旦请求完成,我该如何隐藏图像呢?

5 个答案:

答案 0 :(得分:4)

请在这里查看:Global Ajax Event Handlers

无论何时通过jQuery发送ajax请求,这都会使得实现加载映像变得微不足道。不需要扩展。

答案 1 :(得分:3)

查看Global Ajax Event Handlers

使用ajaxStartajaxStop,您可以控制加载图像在启动ajax请求时显示,并在所有请求完成后隐藏它(或单个{{} 3}}

答案 2 :(得分:3)

您可以使用ajaxStart

$("#loading").ajaxStart(function(){
   //show loading imag here
 });

并在成功时移除图像

答案 3 :(得分:2)

以下代码适合您:

$("#loading").ajaxStart(function () { $(this).show(); }) .ajaxStop(function () { $(this).hide(); });

答案 4 :(得分:0)

/ *显示每次ajax调用时加载数据的消息* /

var loadingMessage = 'Please wait loading data for ' + defaultUserName;
$(document).ready(function()
{
    $("#Loadstatus").bind("ajaxSend", function()
        {
            $(this).text(loadingMessage);
            $(this).show();
        }).bind("ajaxComplete", function()
        {
            $(this).hide();
        });
});

而且,如果你想用你的CSS把背景图像放在元素上,你就可以了 - 动画gif很常见。