我從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