zoukankan      html  css  js  c++  java
  • jquery 拦截 post 等请求实现aop效果


    1. $(function(){
    2. jQuery.extend({
    3. put: function( url, data, callback, type ) {
    4. // shift arguments if data argument was omited
    5. if ( jQuery.isFunction( data ) ) {
    6. type = type || callback;
    7. callback = data;
    8. data = {};
    9. }
    10. return jQuery.ajax({
    11. type: "PUT",
    12. url: url,
    13. data: data,
    14. success: callback,
    15. dataType: type
    16. });
    17. },
    18. del: function( url, data, callback, type ) {
    19. // shift arguments if data argument was omited
    20. if ( jQuery.isFunction( data ) ) {
    21. type = type || callback;
    22. callback = data;
    23. data = {};
    24. }
    25. return jQuery.ajax({
    26. type: "DELETE",
    27. url: url,
    28. data: data,
    29. success: callback,
    30. dataType: type
    31. });
    32. }
    33. })
    34. jQuery.each( [ "get", "post","put","del"], function( i, method ) {
    35. // jQuery.get或jQuery.post为
    36. jQuery[ method ] = function( url, data, callback, type ) {
    37. if($("#loading")){
    38. $("#loading").show()
    39. }
    40. var callbackafter = function(){
    41. if($("#loading")){
    42. $("#loading").hide()
    43. }
    44. callback.call(window,arguments[0]);
    45. }
    46. // 模拟重载
    47. if ( jQuery.isFunction( data ) ) {
    48. type = type || callback;
    49. callback = data;
    50. data = undefined;
    51. }
    52. // 利用jQuery.ajax完成任务
    53. return jQuery.ajax({
    54. url: url,
    55. type: method,
    56. dataType: type,
    57. data: data,
    58. success: callbackafter
    59. });
    60. };
    61. });
    62. })()
    63. function disableAop(){
    64. jQuery.each( [ "get", "post","put","del"], function( i, method ) {
    65. // jQuery.get或jQuery.post为
    66. jQuery[ method ] = function( url, data, callback, type ) {
    67. // 模拟重载
    68. if ( jQuery.isFunction( data ) ) {
    69. type = type || callback;
    70. callback = data;
    71. data = undefined;
    72. }
    73. // 利用jQuery.ajax完成任务
    74. return jQuery.ajax({
    75. url: url,
    76. type: method,
    77. dataType: type,
    78. data: data,
    79. success: callback
    80. });
    81. };
    82. });
    83. }

    拦截就是重写jquery默认的post等方法
    还有一个禁用aop的就是把源码再声明一遍即可


     

  • 相关阅读:
    javascript 获取鼠标在盒子中的坐标
    jquery中clientY, pageY, screenY的区别,最后三张图一目了然
    javascript 小清新颜色翻页效果
    javascript 缓动返回顶部案例
    原生js轮播图实现
    javascript Math对象
    javascript 获取节点元素的封装
    javascript 转换大小写字母
    2017 ACM-ICPC 亚洲区(青岛赛区)网络赛 1010
    2017 ACM-ICPC 亚洲区(青岛赛区)网络赛 1009
  • 原文地址:https://www.cnblogs.com/signheart/p/5d44c67ad35c34a8d2b97b47817723fc.html
Copyright © 2011-2022 走看看