当我在页面 (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);
}
}
我可以知道为什么会发生这种情况以及如何防止这个错误吗?
谢谢您的帮助!