代码学堂(uxuew.cn)提供付费解决PHP WEB开发等技术服务,如果需要请 点击加我QQ:1662935793.
>web前端 > ajax技巧 > 防止ajax表单重复提交解决方法源码示例

防止ajax表单重复提交解决方法源码示例

ajax技巧 围观6610次 更新日期:2017-07-18 13:02:59 留下足迹

做项目时经常会用ajax来提交表单,那么如何防止ajax表单重复提交呢
代码如下:

  1. /* 
  2. 防止ajax重复请求的代码示例 
  3. */ 
  4. jQuery.extend({ 
  5. getx:function(url,data,callback,sender){ 
  6. var params={url:url,data:null,callback:null,sender:null}; 
  7. for(var i=1;i<arguments.length;i++){ 
  8. if(arguments[i]!=null){ 
  9. var ptype=typeof(arguments[i]); 
  10. if(ptype=="function"){ 
  11. params.callback=arguments[i]; 
  12. else if(ptype=="string"){ 
  13. params.sender=$(arguments[i]); 
  14. if(params.sender.data("isRequesting")) 
  15. return null
  16. else if(ptype=="object"){ 
  17. if(arguments[i].tagName || arguments[i].selector){ 
  18. params.sender=$(arguments[i]); 
  19. if(params.sender.data("isRequesting")) 
  20. return null
  21. else
  22. params.data=arguments[i]; 
  23. params.sender.data("isRequesting",true); 
  24. return $.get(params.url,params.data,function(data,status){ 
  25. params.sender.data("isRequesting",false); 
  26. if(data=="unlogin"){ 
  27. window.top.location.href="http://www.uxuew.cn/"
  28. return
  29. if(params.callback){ 
  30. params.callback (data,status); 
  31. }); 
  32. }, 
  33. postx:function(){ 
  34. var params={url:url,data:null,callback:null,sender:null}; 
  35. for(var i=1;i<arguments.length;i++){ 
  36. if(arguments[i]!=null){ 
  37. var ptype=typeof(arguments[i]); 
  38. if(ptype=="function"){ 
  39. params.callback=arguments[i]; 
  40. else if(ptype=="string"){ 
  41. params.sender=$(arguments[i]); 
  42. if(params.sender.data("isRequesting")) 
  43. return null
  44. else if(ptype=="object"){ 
  45. if(arguments[i].tagName || arguments[i].selector){ 
  46. params.sender=$(arguments[i]); 
  47. if(params.sender.data("isRequesting")) 
  48. return null
  49. else
  50. params.data=arguments[i]; 
  51. params.sender.data("isRequesting",true); 
  52. return $.post(params.url,params.data,function(data,status){ 
  53. params.sender.data("isRequesting",false); 
  54. if(data=="unlogin"){ 
  55. window.top.location.href="http://www.uxuew.cn/"
  56. return
  57. if(params.callback){ 
  58. params.callback (data,status); 
  59. }); 
  60. }) 

当然,这里可以抽出共同的一部分,也可以去封装$.ajax方法,但这里只是笔记...

转载请注明:代码学堂>web前端 > ajax技巧 > 防止ajax表单重复提交解决方法源码示例

喜欢 (828) or 分享 (61)
随机文章