HTML 要素のコンテンツを PHP スクリプトの実行結果に単純に設定しようとしているように思えます。これは、「foo」パラメーターで渡すパラメーターに応じて、HTML リンクを出力するだけのサンプル PHP スクリプトです。
<?
// Get the parameter "foo" from the URL string.
$action = $_GET['foo'];
// Return a different link depending on what 'foo' is.
switch ($action) {
case 'a':
print('<a href="Link.php?action=Delete">Delete</a>');
break;
case 'b':
print('<a href="Link.php?actiom=Edit">Edit</a>');
break;
default:
print('<a href="Link.php?action=New">New</a>');
break;
}
?>
次に、Javascript (jQuery) を使用して、HTML ファイル内からその PHP スクリプトをロードする必要があります。これは、それを示す簡単なページです。
<html>
<head>
<title>Demo Page</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(function() {
$.get('ajax.php?foo=a', function(data) {
$('#result').html('Received response: ' + data);
});
});
</script>
</head>
<body>
<!-- This div will contain a link to the "Delete" -->
<div id="result"/>
</body>
</html>
覚えておくべきこと:
- このデモでは、「ajax.php」ファイルと「demo.html」ファイルが同じディレクトリにあることを前提としています。
- また、「js」というディレクトリの「jquery.js」というファイルに jQuery Javascript ファイルがあると仮定します。
- この例は、ライブ Web サーバーから実行する必要があります。つまり、これらのファイルをデスクトップに置いて、Web ブラウザーで「demo.html」を開いた場合、これは機能しません。これには 2 つの理由があります。最近のブラウザのセキュリティ制限により、ローカル ファイルからの AJAX 呼び出しが妨げられることがよくあります。また、PHP ページは実行されず、演習全体が役に立たなくなります。
/www/data が Web サーバーのファイルのルート ディレクトリであると仮定した場合のディレクトリ構造は次のとおりです。
- /www/data/demo.html
- /www/data/ajax.php
- /www/data/js/jquery.js