To Know To Think To Love
 ここはWEB学習用で、制作の実験と備忘録に使っています。公開ブログは、"人生は恐れを知らぬ冒険か無か"(http://home.elmblog.com/)です。 ≪管理人用≫以下の内容やリンク先は、管理人が学習と試作に使っており予告なしに変更されます。

« コメント書き込みの認証 | MAIN

Ajaxアプリケーション

ボタンを押すとサーバから取得した文字列をページに表示する簡単なAjaxアプリケーションを試す。

1.JavascriptでXMLHttpRequestオブジェクトを作成するコードを作る。ブラウザがIEならばActiveXオブジェクトとして、それ以外ではJavaScriptオブジェクトとして作成する。

ajax = false;
// IE以外
if(window.XMLHttpRequest) {
   ajax = new XMLHttpRequest();
// IE用
} else if(window.ActiveXObject) {
   try {
      ajax = new ActiveXObject("Msxml2.XMLHTTP");
   } catch(e) {
      ajax = new ActiveXObject("Microsoft.XMLHTTP");
   }
}

2. サーバと通信してデータを取得し、ページを書き換える関数(Ajaxエンジン)を作る。この関数は、第1引数に指定されたURLにアクセスして返された文字列で、第2引数で指定されたIDを持つページ内のオブジェクトの中身を書き換える。


function getData(serverURL, objID) {
   ajax.open("GET", serverURL);
   ajax.onreadystatechange = function() {
      if (ajax.readyState == 4 && ajax.status == 200) {
         var obj = document.getElementById(objID);
         obj.innerHTML = ajax.responseText;
      }
   }
   ajax.send(null);
}

3. このJavaScriptを使うHTMLページを作る。ページ内には段落と、Ajaxを実行するためのボタンを1つ配置する。ボタンは通常のsubmit動作は行わずに、JavaScriptの関数を呼び出すだけ。onClickイベントハンドラで指定しているURLは、スクリプトの置かれているURLに置き換える。


<html>
<head><title>最も簡単なAjaxサンプル</title></head>
<body>
<form>
<input type=button value="取得&書き換え" onClick="getData('http://www.example.jp/server.php', 'maintext'); return false;">
</form>
<div id="maintext"><p>ボタンを押すとこのテキストが書き換わります。</p></div>
</body>
</html>

4. サーバ側のスクリプトを作る。サンプルとしてHTMLテキストを返すだけのスクリプトを、クライアント側で指定されている /server.phpとして配置する。サーバ側はPerl、PHP、ASP.NET、J2EEなど、どのような開発環境でも利用できる。

echo '

ボタンがクリックされました。

';
?>

5. これで、ボタンがクリックされるとサーバから取得したデータでページが書き換えられる。

TrackBack

TrackBack URL for this entry:   http://elmblog.com/apps/mt-tb.cgi/383

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)