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的就是把源码再声明一遍即可


     

  • 相关阅读:
    digitalpersona 开发
    Task 暂停与继续
    IQueryable 和 IEnumerable(二)
    SpringBoot Redis 订阅发布
    @Formula
    Aop 简单实例
    幂等 zuul的Filter实现
    C# async await 举个栗子
    Integer 类和 int 的区别
    TCP和UDP的区别以及各自应用
  • 原文地址:https://www.cnblogs.com/signheart/p/5d44c67ad35c34a8d2b97b47817723fc.html
Copyright © 2011-2022 走看看