1
altchen 2012-09-11 14:51:48 +08:00
是不是你的数组>1的时候是最后有个逗号如[{},{},]
去掉最后的逗号试下 |
4
VeryCB OP @lerry 设了contentType: "application/json; charset=utf-8" 也不行...
|
5
VeryCB OP 放弃用本地文件了,写了个服务器端来放回json,问题解决~
|
6
xmmwc 2012-09-12 00:23:10 +08:00
$.ajax({
type: "GET", url: "data.json", cache: false, success: function (data) { data = eval("("+ data + ")"); var i = 0; $('#player .album-cover a').attr({ href: data.song[i].album, title: data.song[i].albumtitle }); $('#player .album-cover img').attr({ src: data.song[i].picture, alt: data.song[i].albumtitle }); } }); |
7
Julyyq 2012-09-12 00:52:28 +08:00
朱一表示测试JSON神马的,要么在服务器环境下,要么在IE9下。。。
|
8
weicaizhi 2012-09-12 11:00:45 +08:00
个人经验是,IE浏览器对JS的逗号要求很严格,多一个就会报错,尤其是兼容模式下。所以建议你用IE9选择IE 7或8 浏览模式,然后把调试打开,如果真是我说的这种问题,调试会帮你找到错误的那一行的,我这也是好多次都是这样的问题。
|
9
tangzx 2012-09-12 17:04:51 +08:00
因为火狐有原生的JSON。parse,对JSON格式要求很松,而IE没有这个方法,jquery会调用自己实现的json。parse,而jquery自己实现的jqueryparse很严格,不能有格式错误,请去json。org上参考,空格不允许,键值必须用引号括起来
|
10
cougar 2012-09-13 11:43:41 +08:00
不用$.each迭代吗?
|
11
chuxiwen 2012-09-13 13:32:28 +08:00
dataType
The type of data that you're expecting back from the server. 在服务器端的返回 content-type设置需为 "application/json;charset=UTF-8" 另外,JSON 的生成最好用已有的库或者直接对 object 进行 serialization |