作者BBSealion (海狮)
看板Ajax
标题[问题] json.parse 一直显示 Unexpected token
时间Tue Feb 12 17:03:00 2013
有点不确定问题在哪
我有一些资料在mysql,存成json的形式
当我用ajax从getData(),拿回来的时候
用var data = xhr.responseText;
在PHP端echo我的json变数,就会在data收到
但问题是拿到之後我无法做 JSON.parse(data)
他一直显示Unexpected token
我alert了一下data的内容看起来没甚麽问题(如下)
[[{"p":-99,"a":-99,"l":1},{"p":-99,"a":-99,"l":1}],
[{"p":-99,"a":-99,"l":1},{"p":-99,"a":-99,"l":1}]]
但就是无法parse
想请问有人能指点一下问题在哪吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.61.45
1F:→ Darkland:这段 json 解出来没问题 @ @ 02/12 17:10
2F:→ BBSealion:用eval('(' + data + ')'); 竟然就OK了... 但用parse 02/12 17:13
3F:→ BBSealion:就不行 好奇怪的状况orz 02/12 17:13
4F:→ TonyQ:你要不要来一段真实的测资啊 02/12 19:41
5F:→ TonyQ:这段很正常 02/12 19:41
6F:→ TonyQ:然後检查首尾有没有多余的 \0 之类的 02/12 19:41
7F:→ TonyQ:单看 alert 有时候会漏掉一些东西 02/12 19:41
8F:→ BBSealion:这段其实是用console.dir丢出来的耶? 应该是真实的吧 02/13 18:22
9F:→ BBSealion:不知eval和parse的差别是甚麽? 为何eval反而可以顺利 02/13 18:22
10F:→ BBSealion:喔试出来了 真的找个了js的trim函数 用之後就可以了 02/13 18:44
11F:→ BBSealion:chrome可以 到 firefox又不行了(倒)include json2也不行 02/13 22:52
12F:→ Piceman:HTML header 问题?text/html? 02/16 19:06
13F:→ TonyQ:想办法重演测资... 02/16 21:17
14F:→ TonyQ:真的不行你就先把那段字转 base64 encode 丢出来 02/16 21:17
15F:→ TonyQ:不然没人知道你发生什麽事情 XD 02/16 21:17
16F:→ BBSealion:我发现每个动作都trim他一下就可以了... 真的是很多怪 02/19 10:19
17F:→ BBSealion:空白在传送中跑出来... 02/19 10:19
18F:→ BBSealion:header我根本没有设耶 02/19 10:20
19F:→ BBSealion:感谢TonyQ 目前OK了 再挂了我就跑一次资测试试看 02/19 10:21