[英]Run JavaScript after Ajax
我有一個使用此功能的HTML,用於使用Ajax加載另一個PHP:
function LoadContent(n,func)
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState== 4 && xmlhttp.status == 200)
{
document.getElementById("div-content").innerHTML=xmlhttp.responseText;
if(typeof(func)==='undefined')
{
// nothing
}
else
{
eval(func);
}
}
}
xmlhttp.open("GET",n,true);
xmlhttp.send();
}
到目前為止,一切正常。 要加載的PHP會生成一個HTML,其中包含一個
<script>
function foo() {
alert('hello');
}
</script>
原始HTML使用javascript:LoadContent('file.php','foo()')
調用加載程序,但未調用foo()。 eval()行在Chrome中顯示“無此功能”。
在Ajax加載之后,我將如何管理它,將執行駐留在加載的html中的JavaScript函數?
改為這樣做:
javascript:LoadContent('newstandby.php',foo)
由於foo
是一個函數,它將被作為回調調用,因此它作為函數傳遞,而不是result( foo()
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.