`

jQuery dataType指定为json的问题

 
阅读更多

最近在看jQuery的API文档,在使用到jQuery的ajax时,如果指定了dataType为json,老是不执行success回调,而是执行了error回调函数,极度郁闷。后面改为1.2.6版本可以执行。

  然后继续下载了几个jquery版本,如1.3.2,1.4.0的,指定dataType为json都不能执行success回调,只有小于1.3版本的才能执行success回调。

  最后去jquery的网站找到了在线的api文档看了下,地址:http://api.jquery.com/jQuery.ajax/ ,发现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.)

   原来是jquery1.4版本以后对json格式要求非常严格了,要满足json.org网站定义的格式才能执行success回调,否则都会出错,无 法解析返回的json数据。说的是1.4+以上的,那为什么下载的1.3.2指定dataType为json时也不能执行success回调呢?

  怪不得不执行,原来我返回的是{success:true,id:'1'} 这种不规则的字符串,不是严格的json格式,改成{"success":true,"id":"1"} 就可以正常执行success回调了。
  
  JSON格式总结下,详细的去json.org 查看。
  1)键名称:用双引号 括起
  2)字符串:用使用双引号 括起
  3)数字,布尔类型不需要 使用双引号 括起

分享到:
评论

相关推荐

    jQuery ajax dataType值为text json探索分享

    ajax dataType值为text json的使用是怎么样的,在本文将为大家想你想介绍下,感兴趣的朋友不要错过

    jquery教程ajax请求json数据示例

    代码如下:$.ajax({ url: ‘这个地址要换成你自己的’, data: {S_CourseID: courseid , CurrTime : new Date().getTime()}, //加个时间戳,否则会不自动更新数据 dataType: ‘json’, success: function(data) {...

    jQuery Ajax异步处理Json数据详解

    jquery ajax处理json数据其实与其它ajax处理数据没什么很大的改动,我们只要简单处理一下ajax部份的dataType数据类型等于json即可解决了

    jQuery ajax读取本地json文件的实例

    json文件 { first:[ {name:张三,sex:男}, {name:李四,sex:男}, {name:王武,sex:男}, {name:李梅,sex:女} ... dataType: json, //返回数据格式为json success: function(data) {//请求成功完成后要执行的方法

    jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法

    charset=utf-8″选项就可以了,这是因为在.net 3.5以后要对contentType进行检查,所以仅仅指定dataType的话.net就不会返回JSON了,那么我们的请求自然也就无法请求到JSON数据了。正确写法就是这样了: 代码如下: ...

    通过jquery的ajax请求本地的json文件方法

    自己学习jquery的ajax的经历,记录一下 ...在body里面放一个id为test的div <div id=test></div> 第一步还是要先加载jquery文件 jquery.min.js ... dataType: json, //请求成功完成后要执行的方法 success: fun

    jquery解析json格式数据的方法(对象、字符串)

    本文实例讲述了jquery解析json格式数据的方法。分享给大家供大家参考,具体如下: json数据是我们常用的一种小型的数据实时交换的一个东西,他可以利用jquery或js进行解析,下面我来介绍jquery解析json字符串方法。 ...

    JS解析后台返回的JSON格式数据实例

    ajax中若没有定义dataType : “json”,需要eval(“(“+data+”)”)将后台传回的数据转化为JSON格式,否则不需要转换。 遍历json中的array方法: $.each jquery.each for (var i in array) { array[i]. } ...

    jQuery getJSON 处理json数据的代码

    Html代码: 代码如下: [removed][removed] [removed] function jsonTest1() { $.ajax({ url:”Handler.ashx”, data:{“type”:”ajax”}, datatype:”json”, type:”get”, success:function(data) { document....

    jquery的ajax异步请求接收返回json数据实例

    jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发送设置的datatype设置为jsonp格式数据或json格式都可以。 代码示例如下: 代码如下: $(‘#send’).click...

    jquery.upload.js

    12 dataType: 'json', 13 // 上传之前回调,return true表示可继续上传 14 onSend: function() { 15 return true; 16 }, 17 // 上传之后回调 18 onComplate: function(data) { 19 alert(data); 20 } 21 });...

    jquery实现的ajax文件上传功能

    dataType: 'json', success: function (data, status) { if(typeof(data.error) != 'undefined') { if(data.error != '') { alert(data.error); }else { ...

    jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法

    jquery中ajax请求后台数据成功后既不执行success也不执行error,此外系统报错:Uncaught SyntaxError: Unexpected identifier at Object.success,但后台能够返回数据,原代码如下: ... dataType: "json", s

    jQuery使用ajax传递json对象到服务端及contentType的用法示例

    本文实例讲述了jQuery使用ajax传递json对象到服务端及contentType的用法。分享给大家供大家参考,具体如下: 0、一般情况下,通过键值对的方式将参数传递到服务端 0.1 客户端代码: $.ajax({ url: 'TestHandler....

    Jquery $when done then的用法详解

    对于$.ajax请求来说,如果层级比较多,程序看起来会比较乱,而为了解决这种问题,才有了$when…done…fail…then的封装,它将$.ajax这嵌套结构转成了顺序平行的结果,向下面的$.ajax写法,看起来很乱 $.ajax({ url...

    jQuery jqGrid

    一个jqGrid例子 使用datatype: "local",JSON数据写在页面中时分页、搜索一切正常。 但使用datatype: getProducts, 时点击搜索、排序时数据每次拷贝了一份,(即:原数据有10条,操作后就成20条。。。。)。

    jQuery ajax json 数据的遍历代码

    先给大家说下我的需求:进行ajax请求后,后台传递回来以下json数据。 具体实现代码如下所示: JavaScript代码 { data:[ {id:1,name:选择A,value:A}, {id:2,name:选择B,value:B}, ...dataType : json, // 指定返

    JQuery ajax 返回json时出现中文乱码该如何解决

    使用jQuery ajax调用的返回json,中文乱码问题 Js代码如下: $.ajax({ url: '/test/testAction.do?method=test', type: 'POST', dataType: 'json', timeout: 5000, async: false, error: function(){ ...

Global site tag (gtag.js) - Google Analytics