連載:jQuery逆引きリファレンス

【Ajax編(後編)】

スクリプト共通のAjaxオプションを設定するには?
− $.ajaxSetup(options) −

山田 祥寛(http://www.wings.msn.to/
2010/07/30

 $.ajaxSetupメソッドを利用することで、スクリプト共通で利用できるAjaxオプションを定義できます。複数の$.ajaxメソッド呼び出しで共通して利用するオプション、または、そのほかのAjax関連メソッドで利用するようなオプション*については、$.ajaxSetupメソッドを利用することで、コードをすっきりとさせることができるでしょう。

* $.get、$.postなどのメソッドでは、そもそもオプションを指定することができないためです。

 引数optionsには、「キー: 値」のハッシュ形式でオプション情報を指定できます。指定可能なオプション情報については、「Ajax通信を行うには?」の表を参照してください。

 以下には、Ajax関連メソッドで共通して利用できるエラー・ハンドラを定義する例を示します。

<script type="text/javascript">

$(function() {

  // Ajax関連のオプションを定義
  $.ajaxSetup({

    // エラー・ハンドラを定義(エラー時にダイアログ表示)
    error: function(xhr, status, err) {
      alert('エラーが発生しました:' + status);
    }
  });

  // ボタン・クリック時の処理を定義
  $('#btn').click(function() {

    // Ajax通信を実行
    $.get(
      './Nothing.aspx', // 存在しないファイルにアクセス
      function(data, status, XHR) {
        $('#result').html(data);
      } // 成功時には<div>要素に結果を反映
    );
  });
});

</script>

  ……中略……

<form>
  <input type="button" id="btn" value="通信開始" />
  <div id="result"></div>
</form>
リスト130 共通のエラー・ハンドラを定義(AjaxSetup.html)

ブラウザで開く

リスト130の実行結果

 ここではアクセスしようとしたNothing.aspxが存在しないので、あらかじめ定義しておいたエラー・ハンドラ(errorパラメータ)が実行され、ダイアログ・メッセージが表示されることが確認できるはずです。

 なお、$.ajaxSetupメソッドで指定しているオプション情報は、あくまでデフォルト値です。個々の$.ajaxメソッドでオプション値を上書きできます。



 INDEX
  jQuery逆引きリファレンス
   1.セレクタ編
   2.属性&コンテンツ編
   3.トラバーシング編
   4.要素の操作&ユーティリティ編
   5.コア編
   6.イベント編
   7.エフェクト編
   8.Ajax編(前編)
  9.Ajax編(後編)
    10.jQuery 1.4編
 
インデックス・ページヘ  「jQuery逆引きリファレンス」

TechTargetジャパン

Insider.NET フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH