首页 > ajaxStart只能绑定在document的话,如果页面有2个及以上的ajax请求怎么办?

ajaxStart只能绑定在document的话,如果页面有2个及以上的ajax请求怎么办?

比如ajaxstart现在是这段代码

$(document).ajaxStart(function(){
    $('.new').html("<img src='loading.gif' />");
});

问题是如果一个页面有2个及以上的ajax,并且我希望第一个ajax显示的loading1.gif,第二个ajxa显示的是loading2.gif,该怎么弄呢?
因为我觉得既然ajaxstart绑定在了document上,那么无论哪个ajax请求,将来显示的都是loading.gif,无法区分loading1.gif还是loading2.gif
求高手指导


不是还有$.ajax()吗?
在其中定制自己的beforeSend就好啦


这个问题要看楼主是怎么定义 哪个是第一个, 哪个是第二个了.
如果只是从单纯的顺序上来讲的话, 可以下面这样的代码..

(function(){
    var i = 1;

    $(document).ajaxStart(function(){
         $('.new').html("<img src='loading" + (i++) + ".gif' />");
    });

})();

但如果是要根据 ajax 请求时, 请求不同的 URL 来做为哪个是1,哪个是2的话,目前来说在ajaxStart被触发的时候是没办法的, 因为 jQuery 在 触发 ajaxStart 的时候并不传递任何参数的.

上面的代码来自于 jQuery.1.11.3.

【热门文章】
【热门文章】