为了账号安全,请及时绑定邮箱和手机立即绑定

防止ajax重复提交引出的另一个问题

防止ajax重复提交引出的另一个问题

莫回无 2018-09-07 15:14:17
//伪代码如下function fooClick(){     $('button').prop('disable',true);     $.ajax({         ...         async:false, //同步         success: function(){             $('button').prop('disable',false);             ...         },        error:funciton(){             $('button').prop('disable',false);             ...         }     }) }目的比较简单,点击后button变成不可点击,直到http响应完成,变回可以点击。问题是: 如上代码,当ajax的async属性为false(即同步)时,短时间内快速连续点击3次button(即在第一个ajax还在pending的时候继续点2下button),会依次触发3次ajax请求,当然这3次请求都是等前一个ajax请求响应完成再发起另一次的当我把ajax的async属性变成true(异步)时候,同样短时间内快速连续点击3次button,只会触发一次ajax请求。(这样的效果是我期望的)问题是:为什么同步的情况下,click事情似乎被放进一个堆里面?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 549 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号