第9回 Ajax編(後編):連載:jQuery逆引きリファレンス(10/10 ページ)
jQueryにおいて、Ajax関連操作のコアである「$.ajaxメソッド」についてまとめた、すぐに役立つ9本を一挙公開。
$.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>
このHTMLを実際にブラウザで開く
ここではアクセスしようとしたNothing.aspxが存在しないので、あらかじめ定義しておいたエラー・ハンドラ(errorパラメータ)が実行され、ダイアログ・メッセージが表示されることが確認できるはずです。
なお、$.ajaxSetupメソッドで指定しているオプション情報は、あくまでデフォルト値です。個々の$.ajaxメソッドでオプション値を上書きできます。
Copyright© Digital Advantage Corp. All Rights Reserved.