Ajax通信(その2)

単なる推測なのでウソかもしれんが、もう少し具体的な流れを書いておこ。
多分、「$.ajax({...})」メソッドの背後ではこの手の原理が実行されていると思う。

イベント発生

送信イベントを発生させる操作(例えばボタンクリック等)を行う。

コールバック関数の定義を動的に生成

通信完了後に行う処理をコールバック関数として定義するscriptタグを動的に生成し、読み込ませる。

<script type="text/javascript">
  function callback(data)
  {
    alert(data.name)
  }
</script>
クロスドメインへアクセス

クロスドメインWebサービスにアクセスするscriptタグを動的に生成して読み込ませる。

<script type="text/javascript" src="http://www.hoge.com/fuga.cgi?nth=93"></script>

このクロスドメインにアクセスするscriptタグは、実際に処理されるとこんな感じになると思いねぇ。

<script type="text/javascript">
  callback({ name: "愚かな総理" });
</script>
後始末

callback関数の処理が完了したら、callback関数の定義をしているスクリプト、及びクロスドメインWebサービスにアクセスするscriptタグを動的に削除する。