[問題] json.parse 一直顯示 Unexpected token

看板Ajax作者 (海獅)時間12年前 (2013/02/12 17:03), 編輯推噓0(0019)
留言19則, 4人參與, 最新討論串1/1
有點不確定問題在哪 我有一些資料在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

02/12 17:10, , 1F
這段 json 解出來沒問題 @ @
02/12 17:10, 1F

02/12 17:13, , 2F
用eval('(' + data + ')'); 竟然就OK了... 但用parse
02/12 17:13, 2F

02/12 17:13, , 3F
就不行 好奇怪的狀況orz
02/12 17:13, 3F

02/12 19:41, , 4F
你要不要來一段真實的測資啊
02/12 19:41, 4F

02/12 19:41, , 5F
這段很正常
02/12 19:41, 5F

02/12 19:41, , 6F
然後檢查首尾有沒有多餘的 \0 之類的
02/12 19:41, 6F

02/12 19:41, , 7F
單看 alert 有時候會漏掉一些東西
02/12 19:41, 7F

02/13 18:22, , 8F
這段其實是用console.dir丟出來的耶? 應該是真實的吧
02/13 18:22, 8F

02/13 18:22, , 9F
不知eval和parse的差別是甚麼? 為何eval反而可以順利
02/13 18:22, 9F

02/13 18:44, , 10F
喔試出來了 真的找個了js的trim函數 用之後就可以了
02/13 18:44, 10F

02/13 22:52, , 11F
chrome可以 到 firefox又不行了(倒)include json2也不行
02/13 22:52, 11F

02/16 19:06, , 12F
HTML header 問題?text/html?
02/16 19:06, 12F

02/16 21:17, , 13F
想辦法重演測資...
02/16 21:17, 13F

02/16 21:17, , 14F
真的不行你就先把那段字轉 base64 encode 丟出來
02/16 21:17, 14F

02/16 21:17, , 15F
不然沒人知道你發生什麼事情 XD
02/16 21:17, 15F

02/19 10:19, , 16F
我發現每個動作都trim他一下就可以了... 真的是很多怪
02/19 10:19, 16F

02/19 10:19, , 17F
空白在傳送中跑出來...
02/19 10:19, 17F

02/19 10:20, , 18F
header我根本沒有設耶
02/19 10:20, 18F

02/19 10:21, , 19F
感謝TonyQ 目前OK了 再掛了我就跑一次資測試試看
02/19 10:21, 19F
文章代碼(AID): #1H6WL7LA (Ajax)
文章代碼(AID): #1H6WL7LA (Ajax)