Ajaxと同様の手法
WebページをリロードすることなくブラウザがCGIと非同期に通信する手段として、Ajaxの存在を知るまでは「ダイナミックロード」という手法を使っていました。
ダイナミックロードはかなり斬新な印象を受ける手法ですが、以下のような処理の流れになります。
- Webページに、src属性を指定していないscriptタグを用意しておきます。
- JavaScriptは、CGIと通信したいタイミングで、Webページ上のidがdloadのscriptタグのsrc属性にJavaScriptを指定します。
このときに指定するJavaScriptはCGIで、GETによるパラメータで引数を渡すこともできます。 - サーバは渡されたパラメータをもとに、任意のスクリプトを持つJavaScriptをブラウザに返します。
- ブラウザでは渡されたJavaScriptによって、Webページの内容を書き換えます。
<script id="dload"></script>