作者shathyst (影紫)
看板Ajax
標題[問題] AJAX回傳值開頭0時Chrome Opera Safari 錯
時間Thu May 19 08:38:44 2011
※ [本文轉錄自 Web_Design 看板 #1Dr6K8i2 ]
作者: shathyst (影紫) 看板: Web_Design
標題: [問題] AJAX回傳值開頭0時Chrome Opera Safari出錯
時間: Thu May 19 08:32:05 2011
抱歉又來問問題了:P
我剛剛發現用AJAX取json回傳數值的開頭如果是0
例如: 080
這樣在jQuery .ajax()的時候會跳錯誤訊息耶:
[object XMLHttpRequest]
parsererror
SyntaxError: JSON.parse: Illegal number format (excessive leading 0): 080],
在IE8和Firefox上面都沒問題
只有在Chrome、Opera、Safari上面執行有問題
出問題的網頁在這裡:
http://howar31.tk/labs/invoice/
在選月份時選99年1-2月、5-6月、9-10月都會出問題 因為都有開頭為0的資料
該json檔分別在這:
1-2月
http://howar31.tk/labs/invoice/data/20100102.js
5-6月
http://howar31.tk/labs/invoice/data/20100506.js
9-10月
http://howar31.tk/labs/invoice/data/20100910.js
請問這種問題有解嗎?感覺像是瀏覽器的問題
有沒有其他方法可以解決這種問題呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.79.140.134
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.79.140.134
1F:→ mesak:if (Invoice[x].number[i] >= 0 && 05/19 09:29
2F:→ mesak:Invoice[x].number[i] != ''){ 05/19 09:29
3F:→ mesak:json傳過來的型態是字串,不能當數值去驗證 05/19 09:29
4F:→ mesak:如果確保JSON是你輸入的 Invoice[x].number[i] >=0 就拿掉 05/19 09:30
5F:→ shathyst:感謝各位,我已經解決問題了,該網站已經正常囉! 05/19 13:03