我从JSON格式的PHP函数中获取数据。JavaScript eval()不能按预期工作
var xhReq = new XMLHttpRequest();
xhReq.open("GET", "http://myserver/getjson", false);
xhReq.send(null);
var serverResponse = xhReq;
var jsondata=eval("("+serverResponse.responseText+")") //retrieve result as an JavaScript object
images="";
for(var i=0; i<jsondata.length;i++)
{
images+=" ['"+jsondata[i].title+"','"+IMAGESROOT+"121a.png"+"']";
if(i<jsondata.length-1)
images+=",";
}
我使用以下格式获取此数据。
['title 1','http://site.com/images/121a.png'],
['title 2','http://site.com/images/121a.png'],
['title 3','http://site.com/images/121a.png'],
['title 4','http://site.com/images/121a.png']
最后,当林使用eval分配这个数据作为阵列()
var tinyMCEImageList = new Array(eval(images));
它仅示出排列的['title 4','http://site.com/images/121a.png']
的最后一个元素。
我想要分配数组的每个元素。
你应该真的*使用'JSON.parse(..)'代替。请参考:http://www.json.org/js.html – techfoobar 2013-03-18 08:47:12
为什么你应该假设'eval()'会自动将'JSON'解析成一个数组。正如@techfoobar所说的,它应该是'JSON.parse()' – 2013-03-18 08:48:13
这是什么问题? – 2013-03-18 08:52:02