$.ajaxの送信完了イベントの受け取り

投稿者: | 2023年1月23日

$.ajaxにおいては、

  • 送信前 (beforeSend)
  • 送信後 (complete)
  • 送信成功 (success)
  • 送信失敗 (error)

のように、様々なイベントをキャッチすることが可能ですが、そのコールバック関数が取る引数について。

$.ajaxのイベントには、$.ajaxのパラメータに指定するローカルイベントハンドラと、$ajaxCompleteのように指定するグローバルイベントハンドラがあります。違いは以下のとおりです。

  • ローカルイベントハンドラ : 定義した$.ajaxのみ対象とするイベント
  • グローバルイベントハンドラ : すべての$.ajaxを対象とするイベント(ajaxCompleteなど)

それぞれ、ステータスや、XMLHttpRequestオブジェクトなどが格納されるのですが、順番が異なるため、同じように実装すると、期待していたように動かないといったことが起こります。

グローバルイベントハンドラは多々有りましたがローカルイベントハンドラの引数の情報が見当たらなかった(参考文献の$.ajaxは公式だと思います)ので作成しておきます。

例)complete / ajaxCompleteの場合:

ローカルイベントハンドラ

$.ajax ( 

  省略

  complete : function(XMLHttpRequest, status){ },

)

グローバルイベントハンドラ

ajaxComplete(status, XMLHttpRequest, setting)

settingは、$.ajaxの引数や$.ajaxSetupによって設定したオプションが格納されます。

参考

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です