連載
» 2010年06月25日 00時00分 公開

連載:jQuery逆引きリファレンス:第8回 Ajax編(前編) (10/11)

[山田祥寛(http://www.wings.msn.to/),著]



「連載:jQuery逆引きリファレンス」のインデックス

連載目次


 $.getScriptメソッドは、HTTP GETによる通信を行い、JavaScriptのコードを取得します。$.getJSONメソッドと同じく、外部ドメインにもアクセス可能です。

 $.scriptメソッドで利用できる引数は、以下のとおりです。

引数 概要
url アクセスするURL
fnc 処理成功時に実行するコールバック関数
$.getScriptメソッドの引数

 なお、$.getScriptメソッドの戻り値は、(ほかの多くのjQueryメソッドとは異なり)XMLHttpRequestオブジェクトである点に注意してください。

 具体的なサンプルも見てみましょう。以下は、[スクリプト実行]ボタンをクリックすると、あらかじめ用意しておいたスクリプト・ファイルScript.jsを読み込み、読み込み後にScript.jsで定義されているshowGreeting関数を呼び出す例です。

function showGreeting(name) {
  window.alert("こんにちは、" + name + "さん!");
}

リスト117 showGreeting関数を定義(Script.js)

<script type="text/javascript">

$(function() {

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

    // Script.jsを取得
    $.getScript(
      './Script.js',
      function() {
        showGreeting('山田');
      } // スクリプト読み込み完了後に関数を実行
    );
  });
});
</script>

  ……中略……

<form>
  <input type="button" id="btn" value="スクリプト実行" />
</form>

リスト118 実行時に動的にスクリプト・ファイルを読み込む例(GetScript.html)
このHTMLを実際にブラウザで開く


ブラウザで開く

リスト118の実行結果

 $.getScriptメソッドを利用することで、(必要かどうか判らないスクリプトまで<script>タグですべて読み込むのではなく)実行時に必要に応じてスクリプトを読み込み、利用するといったことが可能になります。

 なお、リスト118では利用していませんが、コールバック関数(引数fnc)は引数として、以下の情報を受け取ります。

  • レスポンス本体(テキスト)
  • 通信結果ステータスを表すテキスト(success、notmodifiedなど)

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。