ajax jquery的ajaxStart事件为什么没有用

如图,我用了jquery里面ajax的load方法载入了一个页面,并且这个页面已经成功的载入了.但是div绑定的ajaxStart和ajaxStop事件里面的consol... 如图,我用了jquery里面ajax的load方法载入了一个页面,并且这个页面已经成功的载入了.但是div绑定的ajaxStart和ajaxStop事件里面的console根本没有执行,这是为什么 展开
 我来答
cainiaokan
推荐于2016-03-24 · TA获得超过2917个赞
知道小有建树答主
回答量:651
采纳率:66%
帮助的人:610万
展开全部

你做反了。应该是


$.ajaxStart()
...
$.ajaxStop();

$("div").load();
顺序不能反。

ajaxStart和ajaxStop是一种全局的配置。通常用来侦测页面中异步请求的发送/结束

追问
我的意思是,在load页面成功之前console.log("Aaa"),在load成功之后console.log("bbb"),难道ajaxStart和ajaxStop不是做这个事的?
追答

你代码写的顺序反了。

$.ajaxStart(function(){
    console.log("Aaa");
}).ajaxStop(function(){
    console.log("bbb");
});
//这样才会对下面的load生效。
$("div").load("222.html");

 

ajaxStart和ajaxStop是jQuery中对ajax请求的一种全局拦截配置。

他可以做到你说的事情,但是你把顺序给写颠倒了。你的请求已经发出去了,

你再配置ajaxStart和ajaxStop,那还来得及吗??

百度网友46b235f5b2
推荐于2018-03-20 · TA获得超过1397个赞
知道小有建树答主
回答量:676
采纳率:100%
帮助的人:632万
展开全部
$.ajax({
               url:'222.html',
               dataType:'html',
               type:'post',
               beforeSend:function(xhr){
                       alert('执行前');
               },
               success:function(data){
                       $('#test').html(data);
               },
               complete:function(xhr){
                     alert('执行结束');
               }
         })
//一般不要配置全局的ajax设置,如果配置了全局的ajax设置,在当前ajax请求中可以加个属性:global:false来阻止全局属性的生效
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式