AjaxならぬSjaxというものがあります。違いは同期か非同期か。ただそれだけです。Synchronous JavaScript + XMLというわけですが、XMLHttpRequestを使用するときにopen関数の3番目の引数をfalseにすると同期モードで実行される、これがSjaxです。
Sjaxならではの特性として、待ちが発生するのを利用して、
- サーバにコネクトして一定時間が経つまでレスポンスを返さないComet方式sleep関数
- スクリプトをSjaxでロードしてevalで評価し、その結果を利用する
- Sjaxでコンテンツを取得して、その場でdocument.writeで書き出す
と、色々と使い道を考える事ができますね。