読者です 読者をやめる 読者になる 読者になる

Corredor

ウェブ、プログラミングの勉強メモ。

jQuery.Ajax() の書き方まとめ

すぐ書き方を忘れるので、よく使うかたまりを置いておく。

jQuery 1.4 系までは successerrorcomplete プロパティを使う。1.8 系以降は非推奨になっている。

$.ajax({
  type: "GET",
  dataType: "html",
  url: "./content.html",
  success: function(response, textStatus, jqXHR) {
    // 成功時
  },
  error: function(jqXHR, textStatus, errorThrown) {
    // 失敗時
  },
  complete: function(jqXHR, textStatus) {
    // 成功時・失敗時共通
  }
});

jQuery 1.5 系からは done()fail()always() メソッドを使う。

$.ajax({
  type: "GET",
  dataType: "html",
  url: "./content.html",
}).done(function(response, textStatus, jqXHR ) {
  // 成功時
}).fail(function(jqXHR, textStatus, errorThrown) {
  // 失敗時
}).always(function(jqXHR, textStatus ) {
  // 成功時・失敗時共通
});

「jqXHR」は1.5から返却されるようになったオブジェクトで、1.4.xまでの「XMLHttpRequest」と違い、Promiseインターフェースというものを備えていて、これによりdoneやfailによるコールバック登録が行えるようになっています。

jQuery XMLHttpRequest (jqXHR) object ってことらしい。Deferred とか Promise とかがよく分かっていないけど、「あれやったらこれやる」という処理を、インデントを深くすることなく書けるようになるってことみたい。

参考

jQueryで作る Ajaxアプリケーション

jQueryで作る Ajaxアプリケーション