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等を指定して、そこで処理を頑張ってるという仕組みです。