0

当我在页面 (ajax.php) 内评估 javascript 代码 (forloop) 时,我正在使用 AJAX 在服务器端调用服务器,如下所示:

<?php
if($part==1){
?>
    for(var i=0; i<5;i++){
        alert(i);
    }
<?php
}

使用 Javascript 页面 (ajax.js) 中的回调:

xmlHttp.onreadystatechange=function(){
    if(xmlHttp.readyState==4){
        if(xmlHttp.status==200){
            if(xmlHttp.responseText!=''){       
                var sc = document.createElement('src');
                sc.innerHTML = xmlHttp.responseText;
                eval(sc.innerHTML);  // Error in first case (forloop in server)     
            }

        }
    }              
}

我在 chrome 上收到错误消息:

SyntaxError: Unexpected token ;

如果我将 forloop 代码放在页面 ajax.js 而不是 ajax.php 中,则一切正常,如下所示:

<?php
if($part==1){
?>
    execute();
<?php
}

在 ajax.js 中的函数 execute() 下面,在这种情况下一切正常

function execute(){
    for(var i=0; i<5;i++){
        alert(i);
    }
}

我可以知道为什么会发生这种情况以及如何防止这个错误吗?

谢谢您的帮助!

4

1 回答 1

0

问题解决了。问题是我正在使用 document.createElement('src') 而不是 document.createElement('script') 创建一个脚本元素。对不起!

非常感谢大家!

于 2013-11-03T22:32:21.250 回答