作者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