AJAXのすべての複雑さを学ぶ時間を節約したい場合は、JavaScriptフレームワークを使用するのが良い近道です(一般的には時間の節約になります)。YUIのようなものを使用すると、わずか数行のコードでAJAX機能をアプリケーションに組み込むことができます。
具体的には、YUI接続マネージャーコンポーネントを使用する必要があります。YUIには優れたドキュメントがあるので、自分で理解するのは難しいことではありません。そうでない場合は、初心者向けの短いチュートリアルがあります。
HTMLフロントエンド内には、次のようなものがあります。
<!-- YUI source files -->
<script src="http://yui.yahooapis.com/2.7.0/build/yahoo/yahoo-min.js"></script>
<script src="http://yui.yahooapis.com/2.7.0/build/event/event-min.js"></script>
<script src="http://yui.yahooapis.com/2.7.0/build/connection/connection-min.js"></script>
<script>
var tiles = new Array();
function refreshTable() {
var sUrl = "ajax/table.php";
var responseSuccess = function(o) {
var root = o.responseXML.documentElement;
var rows = root.getElementsByTagName('row');
for (i=0; i<rows.length; i++) {
tiles[i] = new Array();
for (j=0; j<rows[i].childNodes.length; j++) {
tiles[i][j] = rows[i].childNodes[j].firstChild.nodeValue;
}
}
/*
Update your table using the tiles[][] 2D array.
/*
}
var responseFailure = function(o) {
// Failure handler
alert(o.statusText);
}
var callback = {
success:responseSuccess,
failure:responseFailure,
timeout:3000
}
var transaction = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback, null);
}
setInterval(refreshTable(),2000);
</script>
PHPバックエンド内では、次のような形式でXMLデータを生成する必要があります。
<table>
<row>
<tile>dirt</tile>
<tile>water</tile>
<tile>water</tile>
<tile>dirt</tile>
<tile>dirt</tile>
</row>
<row>
<tile>dirt</tile>
<tile>dirt</tile>
<tile>water</tile>
<tile>water</tile>
<tile>dirt</tile>
</row>
<row>
<tile>dirt</tile>
<tile>dirt</tile>
<tile>water</tile>
<tile>water</tile>
<tile>dirt</tile>
</row>
<row>
<tile>dirt</tile>
<tile>dirt</tile>
<tile>dirt</tile>
<tile>water</tile>
<tile>water</tile>
</row>
<row>
<tile>dirt</tile>
<tile>dirt</tile>
<tile>dirt</tile>
<tile>dirt</tile>
<tile>water</tile>
</row>
</table>
そしてそれがその要点です。サーバー側のPHPスクリプトに引数を渡す必要がある場合は、encodeURI()を使用して引数をURLに追加し、 $ _GET[]スーパーグローバルを使用して引数にアクセスします。