単なる推測なのでウソかもしれんが、もう少し具体的な流れを書いておこ。
多分、「$.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タグを動的に削除する。