`
wangxingguang
  • 浏览: 28155 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

jQuery dataType指定为json的问题,不执行回调函数

阅读更多

jQuery dataType指定为json的问题,不执行回调函数

  最近在看jQuery的API文档,在使用到jQuery的ajax时,如果指定了dataType为json,老是不执行success回调,而是执行了error回调函数,极度郁闷。后面改为1.2.6版本可以执行。具体的问题查看下面这篇文章。
  jQuery1.4.2 ajax存在一个严重bug问题

  然后继续下载了几个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字符串都会出错,无法解析返回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)数字,布尔类型不需要使用双引号括起

 

原文地址:http://www.coding123.net/article/20100722/jquery-1-4-datatype-is-json-issue.aspx

分享到:
评论

相关推荐

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

    本文实例讲述了jquery解析json格式数据的方法。...获取通过回调函数返回的数据并解析得到我们想要的值,看源码: jQuery.ajax({ url: full_url, dataType: json, success: function(results) { alert(result.na

    jquery-1.1.3 效率提高800%

    jQuery会自动调用正确的方法名称来代替查询字符串,执行你指定的回调函数。或者,你也可以指定jsonp的数据类型的回调函数,此函数会自动添加到Ajax请求中。 参数选项: async(true) 数据类型: Boolean ...

    jquery电子文档chm

    数据类型设置为 "jsonp" 时,jQuery 将自动调用回调函数。 -------------------------------------------------------------------------------- Load a remote page using an HTTP request. This is jQuery's low...

    ajax不执行success回调而是执行了error回调

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

    ajax回调函数中使用$(this)取不到对象的解决方法

    下面这段jquery代码,是可以达到预期效果的。 代码如下: $(“.derek”).each(function(){ $(this).click... $.ajax({ url:”editCaskContent”, type:”post”, data:params, dataType:”json”, success:functi

    ie下$.getJSON出现问题的解决方法

    前提:需导入相关js文件jquery.js...请求成功时执行的回调函数。 dataType:默认执行智能判断(xml、json、script 或 html)。 $.getJSON(url,data,success(data, textStatus, xhr)) url:必需。规定将请求发送的哪个 U

    Jquery之Ajax运用 学习运用篇

    还是先说一些基础知识: 语法:$.ajax({option}) option表示参数。... success:function(msg){} 请求成功后回调函数。 error:function(msg){} 请求失败后回调函数。 dataType:xml/html/script/json/jsonp 返回的数据类

    一文快速了解JQuery中的AJAX

    dataType:"json", //返回格式为json async:true,//请求是否异步,默认为异步,这也是ajax重要特性 data:{"id":"value"}, //参数值 type:"GET", //请求方式 beforeSend:function(){ //请求前的处理 }, ...

    jquery1.4 教程二 ajax方法的改进

    1 允许序列化嵌套的参数。 比如:{foo: [“bar”, “baz”]} 将被序列化成foo[]=bar&foo[]=baz,而不是序列化成以前的foo=bar&foo=baz。 如果你想要使用旧的序列化... 1.4后返回json或javascript可以不用设置dataType

    深入分析jsonp协议原理

    今天在开发联调的过程中,需要跨域的获取数据,因为使用的jquery,当然使用dataType:’jsonp’就能够很easy的解决了。 但是因为当时后端没有支持jsonp来访问,后来他在实现这个功能的时候问了我一句,jsonp形式返回...

    ajax经典怎样传输数据

    success: function(xml) { // 请求成功后回调函数 参数:服务器返回数据,数据格式. $("#users").empty(); // 用Jquery处理xml数据 $(xml).find('Table').each(function() { var loginname = $(this).find(...

    python入门到高级全栈工程师培训 第3期 附课件代码

    09 函数闭包为函数加上认证功能 10 函数闭包模拟session 11 函数闭包装饰器运行流程 12 函数闭包带参数装饰器 第21章 01 查询功能 02 修改功能 03 程序的解耦 04 module模块和包的介绍 05 模块的执行以及__name__ ...

Global site tag (gtag.js) - Google Analytics