不承认返回的内容是json格式。当时返回的内容是:
代码如下:
{'keylist':[
{'tid':'13',"sumnum':'1'},{'tid':'21','sumnum':'1'}
]}
经过仔细检查也没发现任何问题,返回流的字符已经设成utf-8,内容用ff检测,ff也能识别成json格式,但此时还是报“pareseerror”错误。
看着看着代码,突然发现,当前返回的内容,都是用英文单引号括起来的,依稀记得最严格的写法应该用英文双引号,于是立即修改系统底层库(c#)
的json数据生成方法,全部改成英文双引号,改后返回的内容如下:
代码如下:
{"keylist":[
{"tid":"13","sumnum":"1"},{"tid":"21","sumnum":"1"}
]}
结果放到测试服一试,问题解决! 我真&*^#%@$@
总结:仔细回想了一下,前些日子因为一些原因用jquery最新版本替换了团购系统中的旧版本,当时没想到这种情况。后来从网上查到资料,jquery在1.3.x版本后对json的解析采取了更严格的方法,所以要求数据必须书写的与国际规范一致。