問題:通過$.get從后台獲取了一段json串{"id":"1","name":"ww"},然后要拿到這里面的id和name值
$.get(url,
function(data) {
alert("ID:" + data.id + "\nName:" + data.name);
});
直接這樣寫的話,界面會alert提示undefined,所以應該是沒能正確解析返回的串
解決方案:
1、需要用eval函數將返回的串轉化成可用的strig串,eval(data),但是因為原串里面是以{}開始和結束的,會被認為是可執行方法,因此需要加上()包圍起來,var jsonobj=eval("("+data+")"),然后再alert("ID:" + jsonobj.id + "\nName:" + jsonobj.name);就能正常顯示了
2、獲取的時候就直接表示返回的是json格式,用$.getJSON代替$.get,其他代碼不變,也能正常獲取。