5

Jquery で $.ajax 関数をオーバーライドしたい

既存の機能を使用したいが、他の機能を追加する必要がある

例:

元の ajax 関数を OriginalAjax 変数に取得する

 var OriginalAjax = $.ajax 

  $.ajax = function(xhr){

      if(xhr.status ==401)
       {
          // Diplay Error in dialog box;
       }
      return(OriginalAjax(xhr));
  });

$.ajax 関数をオーバーライドすることは可能ですか? 「はい」の場合 実装方法を教えてください。

4

2 に答える 2

18

はい、できます...

var oldAjax = $.ajax;

$.ajax = function() {
     // Do your magic.
     return oldAjax.apply($, arguments);
};

...また...

const oldAjax = $.ajax;

$.ajax = (...args) => {
     // Do your magic.
     return oldAjax(...args);
};

ただしajaxComplete()、例から判断すると、応答ステータスを確認できるなどのグローバル イベント ハンドラを使用する必要があります。

于 2012-09-26T05:42:05.200 に答える