jQuery的 $.ajax防止重复提交的两种方法(推荐)
2017-03-21 17:12
465 查看
下面给大家带来两种关于jquery 的ajax防止重复提交的解决方法,具体介绍如下所示:
1、第一种,对于onclick事件触发的的ajax
可以采用如下方法:
即在beforeSend中使点击按钮不可用,ajax结果返回后置为可用
?
2、利用jquery ajaxPrefilter中断请求
1)Prefilters是一个预过滤器,在每个请求之前被发送和$.ajax()处理它们前处理。
options 是请求的选项
originalOptions 值作为提供给Ajax方法未经修改的选项,因此,没有ajaxSettings设置中的默认值
jqXHR 是请求的jqXHR对象
以上内容的核心思想是维护一个队列,发送请求时,将请求加入队列,请求响应后,从队列中清除,这就保证了在任一时刻只能有一个同样的请求发送.
局限性:仅仅是前台防止jQuery的ajax请求。对于非jquery的ajax请求,不起作用。因为使用的是jquery的ajaxPreFilter函数,仅仅对jquery的ajax请求有作用。
2)按钮每次点击都会向后端发送请求,下面的demo实现了多次点击按钮之后,只保证最后一次点击的请求能够成功。
?
调用abort后jquery会执行error的方法,抛出abort的异常信息。可以使用以下方式区分出该类型的异常。
3)注意事项:对于嵌套的点击事件的代码,是不起作用的。
?
1、第一种,对于onclick事件触发的的ajax
可以采用如下方法:
即在beforeSend中使点击按钮不可用,ajax结果返回后置为可用
?
7 |
1)Prefilters是一个预过滤器,在每个请求之前被发送和$.ajax()处理它们前处理。
options 是请求的选项
originalOptions 值作为提供给Ajax方法未经修改的选项,因此,没有ajaxSettings设置中的默认值
jqXHR 是请求的jqXHR对象
以上内容的核心思想是维护一个队列,发送请求时,将请求加入队列,请求响应后,从队列中清除,这就保证了在任一时刻只能有一个同样的请求发送.
局限性:仅仅是前台防止jQuery的ajax请求。对于非jquery的ajax请求,不起作用。因为使用的是jquery的ajaxPreFilter函数,仅仅对jquery的ajax请求有作用。
2)按钮每次点击都会向后端发送请求,下面的demo实现了多次点击按钮之后,只保证最后一次点击的请求能够成功。
?
3)注意事项:对于嵌套的点击事件的代码,是不起作用的。
?
相关文章推荐
- jQuery的 $.ajax防止重复提交的两种方法(推荐)
- jQuery的 $.ajax防止重复提交的两种方法(推荐)
- spring mvc 防止重复提交表单的两种方法,推荐第二种
- jquery 防止ajax 重复提交 简单方法
- Jquery的$.ajax防止重复提交的方法
- spring mvc 防止重复提交表单的两种方法,推荐第二种
- jQuery 防止Ajax重复提交的简单设置方法
- jquery的ajax提交form表单的两种方法小结(推荐)
- jquery的ajax提交form表单的两种方法小结(推荐)
- jquery 防止ajax 重复提交 简单方法
- spring mvc 防止重复提交表单的两种方法,推荐第二种
- spring mvc 防止重复提交表单的两种方法,推荐第二种
- spring mvc 防止重复提交表单的两种方法,推荐第二种
- jquery 防止ajax 重复提交 简单方法
- spring mvc 防止重复提交表单的两种方法,推荐第二种
- spring mvc 防止重复提交表单的两种方法,推荐第二种
- 传智播客Java web学习,url编码及防止表单重复提交的两种方法
- jQuery防止重复提交的方法
- AJAX 防止重复提交表单beforeSend和complete 方法
- 用JavaScript防止重复提交表单form的两种方法