防止Ajax重复递交

遇到了这样一个问题,使用ajax进行表单递交,如果网络不好,不能及时响应,如果重复点击submit按钮,会不断的向服务器递交数据,导致重复递交同样的数据。那么这个问题该怎么解决呢?

最粗暴的方式,修改按钮状态或者外部变量锁定

  • 修改按钮状态 - 只要点击按钮后,将按钮状态更改为disabled,返回结果后就delete掉这个状态。
  • 外部变量锁定 - 放个全局变量,只要发了Ajax请求,变量为false,收到结果就变回true。每次发请求的时候检测这个变量,假如为false就不能发Ajax。

当然不推荐这两种方式。

参考资料:http://www.zhihu.com/question/19805411