Ajaxの仕方(デモセットのダウンロードはここだよ(*´ー`)ノ)
Ajaxで来る人がぽつぽつといるかもなので、簡単に書いてみる。以下の作業は5以降は「信頼済みのサイト」または、ローカルで行ってください
1.Andrew Gregory's Web Pagesから、xmlhttprequest.jsをもらってくる。
2.demo.jsももらってくる。
3.demo.htmlとかてきとーにつくる。以下に例を示す
<p> </p> <p><div id="demo"></div></p>
4.どっかに以上3つのファイルを置いてぽちぽちボタン押して遊ぶ(サンプル1)
次にこれでは面白くないので読み込むページを変える
5.googleに生贄になってもらう。以下に例を示す。
demo.js 12行目 req.open('GET', 'http://www.google.co.jp');
6.ぐーぐるのソースがそのまま見えてガッカリする。(サンプル2:但し、sagittarius.dip.jpを「信頼済みサイト」にしないとデモ見れません。。。信頼済みサイトにするにはIEなら右下の「インターネット」のヤツをごにょごにょしてください。やる場合は各自の責任で。)
7.とりあえずinnerHTMLにしてみる
demo.js 8行目 demo.appendChild(document.createTextNode(req.responseText)); ↓ //demo.appendChild(document.createTextNode(req.responseText)); demo.innerHTML = req.responseText;
8.画像は表示されないけどまあいいかと思っておく(サンプル3)
9.任意のページをがしっと取ってくるようにする(サンプル4:ちゃんとボタンで操作してね)
[demo.html]
<p>
<form name=form1>
<input type=text size=30 name=url><br>
</form></p>
<p><div id="demo"></div></p>
[demo.js]
function loadcode() {
var req = new XMLHttpRequest();
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4 && req.status == 200) {
removecode();
var demo = document.getElementById('demo');
//demo.appendChild(document.createTextNode(req.responseText));
demo.innerHTML = req.responseText;
}
};
req.open('GET', document.form1.url.value);
req.send(null);
}
}
function removecode() {
var demo = document.getElementById('demo');
while (demo.hasChildNodes()) {
demo.removeChild(demo.firstChild);
}
}
10.よろこぶ
11.あとはお好きにどうぞ。
デモセットのダウンロード
・・・ところで、こういうのをAjaxって呼ぶのであってるのかな?(いまだに自信なし
▽xmlhttprequest.jsを使わない場合
var req = new XMLHttpRequest(); を try { req = new ActiveXObject("Msxml2.XMLHTTP") } catch (e) { try { req = new ActiveXObject("Microsoft.XMLHTTP") } catch (E) { req = false } } に変える
▽で、なんかみんな色々やってるけどこれだけじゃあれだよね?
って思うかもですけど、結局のところ、ターゲットにCGI等を指定して、そこで処理を頑張ってるという仕組みです。