Führen Sie die Javascript-Funktion auf einer Seite aus, die über eine AJAX-Antwort gesendet wurde
Ich möchte eine Funktion ausführen, die über eine AJAX-Anfrage vom Server gesendet wird. Der Funktionskörper befindet sich nicht auf der aufrufenden Seite. Zum Beispiel: (der vollständige Code ist unten angegeben)
1. Aufruf eines PHP-Skripts:
<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 Skript:
<script>
function test()
{
alert("Hello");
}
</script>
<span onclick="test()">Test AJAX</span>
Ich weiß, dass das Setzen der Funktionsdefinition von "test" im aufrufenden Skript ausreicht. Aber ich möchte es im zweiten Skript behalten. Was soll ich tun? Der Server gibt die Spanne als Antwort an den Client zurück. Wenn Sie auf den Bereich "Test AJAX" klicken, sollte die Funktion aufgerufen werden.