jQuery1.4.2的json提示parsererror问题

简介: 今天用到jquery来处理ajax,用到了json。但是很诧异,jquery的ajax回调时一直调用了error函数(一直提示parsererror异常),success函数一次没执行过   。

今天用到jquery来处理ajax,用到了json。但是很诧异,jquery的ajax回调时一直调用了error函数(一直提示parsererror异常),success函数一次没执行过 :evil:  。代码如下:

1 $.ajax({
2 type:'POST',
3 url:'/go.php?p=chat.chatCenter&a=send',
4 dataType:'json',
5 data:'style='+Tstyle+'&content='+content,
6 success:function(data){$.chatCenter.sendEnd(data);},
7 error:function(data,t){alert("系统异常["+t+"]");$.chatCenter.sendEnd();}
8 });

服务器返回结果为:{id:"1",data:"none"}

搞了很久,我把库换回1.3.1可以成功~~lol,最后发现是jQuery1.4.2这个版本引起的,1.4.2中jq把JSON的解析由原来的eval改为极其严格的$.parseJSON()来处理了。我在官方的说明文档中找到的,如下:

dataType
...
"json": Evaluates the response as JSON and returns a JavaScript object. In jQuery 1.4 the JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. (See json.org for more information on proper JSON formatting.)

http://api.jquery.com/jQuery.ajax/

就是说 jQuery 1.4对服务端返回的JSON 数据要求比较严格,必须严格按照JSON的标准来了。

下面我把$.parseJSON的说明文档也摘要下来:

jQuery.parseJSON( json )

Passing in a malformed JSON string will result in an exception being thrown. For example, the following are all malformed JSON strings:

{test: 1} (test does not have double quotes around it). 译:test两边必须有双引号 {"test":1}
{'test': 1} ('test' is using single quotes instead of double quotes). 译:test两边的引号不能为单引号,一定要是双引号
Additionally if you pass in nothing, an empty string, null, or undefined, 'null' will be returned from parseJSON. Where the browser provides a native implementation of JSON.parse, jQuery uses it to parse the string. For details on the JSON format, see http://json.org/.

现在什么都讲究标准啦,我们老老实实按标准来吧。我下面列举几个符合标准的例子:

{"myvalue":1}
{"myvalue":"red"}
{"myvalue":["black",250]}

 

http://iiu.me/archives/114#more-114

目录
相关文章
|
2月前
|
JSON 前端开发 Java
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
33 0
|
3月前
|
JSON JavaScript 数据格式
jQuery将json性别数据int类型进行格式化渲染
jQuery将json性别数据int类型进行格式化渲染
21 0
|
3月前
|
JSON 数据格式
jQuery+ajax解析json数据渲染
jQuery+ajax解析json数据渲染
23 0
|
4月前
|
XML JSON JavaScript
基于jquery+html开发的json格式校验工具
JSON是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。
32 0
|
8月前
|
XML 存储 JSON
【jquery】前端数据格式:json、xml对比
【jquery】前端数据格式:json、xml对比
86 0
|
JSON 前端开发 JavaScript
jquery ajax 和servlet json 结合的简单小例子
jquery ajax 和servlet json 结合的简单小例子
103 0
|
JSON JavaScript 数据格式
jquery请求json数据失败但是不报错
jquery请求json数据失败但是不报错
134 0
jquery请求json数据失败但是不报错
|
XML JSON JavaScript
jQuery、ajax、JSON三者之间的关系
最近在做项目的过程中,对于jQuery、ajax、JSON这三者的关系总是理不清楚,于是,在简单是使用,有了丁点的经验,于是对这三者的关系做了下研究: 1、jQuery : 以下来自百度百科 jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。
3483 0
|
JSON JavaScript 前端开发
jquery 对 Json 的各种遍历
 原文网址:前端开发博客 (http://caibaojian.com/jquery-each-json.html) 概述     JSON(javascript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。
973 0
|
JavaScript Linux 应用服务中间件
Python全栈 Web(Ajax JSON JQuery)
Flask、Python、Django、框架、服务器、客户端、浏览器、交互、WEB、Python前端、CSS、JAVA、HTML、H5、PHP、JavaScript、JQuery、分布式开发
2957 0

相关产品

  • 云迁移中心