我一直在练习ajax,我有以下问题,javascipt在eval表达式失败。我正在使用IE9浏览器。它给出了错误SCRIPT1007:期望']'在eval表达式 以下是javascript函数,您还可以找到我用箭头标记的问题。
<script type="text/javascript">
function callAjax(){
var xhr = new XMLHttpRequest();
xhr.open("GET","ajax");
xhr.send(null);
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 ){
if(xhr.status==200)
var arrStr = xhr.responseText;
//arrStr holds ['raj,'jay']
***var arr = eval(arrStr);------------->problem area***
var list ="";
for (var i=arr; i<arr.length; i++){
list+=arr[i]+"<br>";
}
document.getElementById("msg").innerHTML=list;
} else if ( xhr.status==404) {
document.getElementById("msg").innerHTML="<h6 style='color: red'>Invalid Path</h6>"
}
}
}
</script>
答案 0 :(得分:0)
['raj,'jay']
你似乎在raj之后错过了一个收盘报价。
答案 1 :(得分:0)
如果此Array
字符串由用户输入或其他不受信任的来源提供,则在任何情况下都应避免使用eval()
! (看看会发生什么)
要将数组存储在字符串中,您应该查看serialize并反序列化。