F A Q
"Ajax"関連のFAQ

私が実験中につまずいたことや質問されたことをまとめたもの

Q1.XMLHttpRequest で画像を取得したい!

A1.通常は無理!
IE 専用の responseBody を使えば、画像データをバイト配列のデータとして取得出来ると思うが、
その取得したデータを画像に戻す為の ADODB.Stream がセキュリティホールとなった為、
Microsoft の修正パッチにより IE からは使用不可になっている。
クライアントアプリケーションなら可能だと思うが、それでも Windows でしか動作しない為、メリットを感じない。
Web でも、サーバ側アプリケーションで画像を取ってきて HTML を出力すればいいし。

それでもどうにかしたい場合は・・・
画像の URL を渡してやればよい。
<img> タグを記述したファイルを XMLHttpRequest で読み込み、表示すれば、画像が表示されます。

使用例サンプル
xmlhttp.open("GET", "./sample1.txt");
xmlhttp.onreadystatechange = function() {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    var disp = document.getElementById("disp");
    disp.innerHTML = xmlhttp.responseText;
  }
}
xmlhttp.send(null);
sample1.txt のサンプル
<img src="http://ponpon-village.net/blog/archives/img/.sh-3-6d.jpg" />