私は、zend フレームワーク 2 と Web アプリケーションのプログラミングに本当に慣れていません。私のアプリケーションでは、データベースのコンテンツを変更し、Web サイトの表示コンテンツを更新するために使用できる文字列を返す関数をトリガーするボタンが必要です。ボタンがクリックされたときに Web サイトをリロードしたくないので、ajax を使用してこれを行いたいと思います。いくつかの ajax チュートリアルを読んだ後、解決策は次のようになると想像しました。
HTML 部分:
<head>
<script type="text/javascript">
function myFunction() {
var xmlhttp = new XMLHttpRequest();
// I am working with Chrome
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
var text = xmlhttp.responseText;
document.getElementById("text_paragraph").innerHTML =
text;
}
};
xmlhttp.open("GET", "function.php", true);
xmlhttp.send();
}
</script>
</head>
<body>
......
<button id="function_button" onClick="myFunction()">Click</button>
<p id = "text_paragraph">Initial text"</p>
......
</body>
.php ファイル function.php の場合 (最初は、テキスト値を返すようにしたいだけです):
<?php
echo "Text triggered by the button click";
?>
ボタンをテストしようとしても、何も起こりません。明らかに、xmlhttp.status は 404 で、function.php ファイルが見つかりません。function.php ファイルを配置した場所 (ウェブサイトの .phtml - ビュー ファイルと同じフォルダーにあります) または xmlhttp.open - 関数で使用している URL が間違っていると思います。zf2 で ajax を正しく使用する方法を教えてください。お時間をいただきありがとうございます。すべての回答は非常に高く評価されています。