JQuery 1.3.2以上版本中出現(xiàn)pareseerror錯誤的解決方法
更新時間:2011年01月11日 01:48:45 作者:
最近正在做一個系統(tǒng),測試組那邊不停的報告bug:后臺、前臺各種列表報告js彈出窗錯誤,內容僅僅是一句“pareseerror”!
感覺很莫名奇妙,前一陣子還好好的,怎么現(xiàn)在就突然報錯了? 程序根本沒動。于是開始跟蹤分析,請求、返回的內容。。。最后判斷是jquery
不承認返回的內容是json格式。當時返回的內容是:
{'keylist':[
{'tid':'13',"sumnum':'1'},{'tid':'21','sumnum':'1'}
]}
經(jīng)過仔細檢查也沒發(fā)現(xiàn)任何問題,返回流的字符已經(jīng)設成utf-8,內容用ff檢測,ff也能識別成json格式,但此時還是報“pareseerror”錯誤。
看著看著代碼,突然發(fā)現(xiàn),當前返回的內容,都是用英文單引號括起來的,依稀記得最嚴格的寫法應該用英文雙引號,于是立即修改系統(tǒng)底層庫(c#)
的json數(shù)據(jù)生成方法,全部改成英文雙引號,改后返回的內容如下:
{"keylist":[
{"tid":"13","sumnum":"1"},{"tid":"21","sumnum":"1"}
]}
結果放到測試服一試,問題解決! 我真&*^#%@$@
總結:仔細回想了一下,前些日子因為一些原因用jquery最新版本替換了團購系統(tǒng)中的舊版本,當時沒想到這種情況。后來從網(wǎng)上查到資料,jquery在1.3.x版本后對json的解析采取了更嚴格的方法,所以要求數(shù)據(jù)必須書寫的與國際規(guī)范一致。
不承認返回的內容是json格式。當時返回的內容是:
復制代碼 代碼如下:
{'keylist':[
{'tid':'13',"sumnum':'1'},{'tid':'21','sumnum':'1'}
]}
經(jīng)過仔細檢查也沒發(fā)現(xiàn)任何問題,返回流的字符已經(jīng)設成utf-8,內容用ff檢測,ff也能識別成json格式,但此時還是報“pareseerror”錯誤。
看著看著代碼,突然發(fā)現(xiàn),當前返回的內容,都是用英文單引號括起來的,依稀記得最嚴格的寫法應該用英文雙引號,于是立即修改系統(tǒng)底層庫(c#)
的json數(shù)據(jù)生成方法,全部改成英文雙引號,改后返回的內容如下:
復制代碼 代碼如下:
{"keylist":[
{"tid":"13","sumnum":"1"},{"tid":"21","sumnum":"1"}
]}
結果放到測試服一試,問題解決! 我真&*^#%@$@
總結:仔細回想了一下,前些日子因為一些原因用jquery最新版本替換了團購系統(tǒng)中的舊版本,當時沒想到這種情況。后來從網(wǎng)上查到資料,jquery在1.3.x版本后對json的解析采取了更嚴格的方法,所以要求數(shù)據(jù)必須書寫的與國際規(guī)范一致。
相關文章
jQuery+vue.js實現(xiàn)的多選下拉列表功能示例
這篇文章主要介紹了jQuery+vue.js實現(xiàn)的多選下拉列表功能,涉及jQuery+vue.js數(shù)據(jù)綁定及事件響應相關操作技巧,需要的朋友可以參考下2019-01-01
jQuery:delegate中select()不起作用的解決方法(實例講解)
本篇文章只要是對jQuery:delegate中select()不起作用的解決方法進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01
jQuery根據(jù)用戶電腦是mac還是pc加載對應樣式的方法
這篇文章主要介紹了jQuery根據(jù)用戶電腦是mac還是pc加載對應樣式的方法,涉及jQuery針對客戶端信息的獲取及樣式的調用技巧,需要的朋友可以參考下2015-06-06
CKEditor無法驗證的解決方案(js驗證+jQuery Validate驗證)
這篇文章主要為大家詳細介紹了CKEditor無法驗證的解決方案和jQuery Validate驗證框架,感興趣的小伙伴們可以參考一下2016-05-05
jQuery?獲取與設置元素屬性的詳細方法(看完這篇文章就搞明白了)
這篇文章帶領大家熟練掌握?jQuery?的屬性方面的操作,包括固有屬性的獲取與設置,自定義屬性的獲取與設置等等,走進?jQuery?的更深層次階段,這也是腳本之家小編發(fā)現(xiàn)的一篇比較實用的文章2023-06-06

