prototype.jsは、動的なWebページの開発を容易にする事を目的とした、JavaScriptのライブラリである。
このライブラリを使用すると、AjaxプログラミングやJavaScriptでオブジェクト指向プログラミングを行うのがかなり楽になる。
JavaScriptはクライアントサイド(Webブラウザ)で動作するため、サーバに負荷をあたえず、ページのリロードなしでいろいろな動作をさせることができるのでとても便利であるが、ブラウザによって動作が異なるため実装が難しいという面がある。
そういったJavaScriptの煩わしい部分を吸収してくれるライブラリがprototype.jsである。
以下にprototype.jsを使う場合と使わない場合で、AJAXを利用した通信処理のプログラムがどう変わるかの例を示す。
例としては、サーバ側からテキストファイル(sample.txt)を読み出して表示する処理を示す。
prototype.jsを使わない場合
function load() { try { xmlhttp = new XMLHttpRequest(); } catch(e) { xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); } xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4) { document.getElementById('disp').innerHTML = xmlhttp.responseText; } } xmlhttp.open('GET', 'sample.txt'); xmlhttp.send(null); }
prototype.jsを使う場合
function load() { new Ajax.Updater('disp', 'sample.txt', {method: 'get'}); }