Jquery.ajax终止之前的请求

来源:互联网 发布:android蓝牙源码分析 编辑:程序博客网 时间:2024/05/29 19:12

先叙述一下问题:

界面是这样的



左侧分类每一个点击都会通过ajax向服务端发送一个请求,这里不太好使用beforeSend来限制用户不可点击,那样体验比较差,所以现在的情况是当用户快速点击同一个或多个时,会重复发送N个请求,当请求返回时导致右侧展示内容混乱。

解决办法:

每一次提交新请求时都断开之前的请求,保证同一时间等待的仅仅是一个ajax请求。

$.ajax、$.get、$.post都有同一个返回值,可以使用对象接收,当请求未返回且想结束这次请求时,只需要针对对象使用abort()方法即可。



var req;if(req !=null) req.abort();req = $.ajax({ ... });


原创粉丝点击