サーバーから AJAX リクエストで送信される関数を実行したいと考えています。関数本体が呼び出しページにありません。例: (完全なコードを以下に示します)
1.PHP スクリプトの呼び出し:
<script>
function fun()
{
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
document.getElementById("rslt").innerHTML = ajaxRequest.responseText;
}
}
ajaxRequest.open("GET", "ajax_js2.php", true);
ajaxRequest.send(null);
}
</script>
<input type="button" onclick="fun()">
<div id="rslt">
</div>
2.ajax_js2.php スクリプト:
<script>
function test()
{
alert("Hello");
}
</script>
<span onclick="test()">Test AJAX</span>
呼び出しスクリプトに「test」の関数定義を入れればよいことはわかっています。しかし、2番目のスクリプトでそれを保持したいのですが、どうすればよいですか? サーバーは、クライアントへの応答としてスパンを返します。スパン「Test AJAX」をクリックすると、関数が呼び出されます。