`
wangxingguang
  • 浏览: 28835 次
  • 性别: 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 AJAX 回调函数取JSON成功代码

    另外,如果你的JSON数据是在本地文件系统中,如在压缩包中的'jquery 回调函数成功代码'文件,你可能需要使用file协议来访问,但这通常只在开发环境中可行,因为浏览器的安全策略通常不允许跨域请求本地文件。...

    Jquery.json.js

    - `[callback]`:可选,当请求成功时执行的回调函数,接收到的数据会作为参数传递。 例如,从服务器获取JSON数据并处理: ```javascript $.getJSON('data.json', function(data) { console.log(data); }); ``` **...

    jQuery Ajax Post 回调函数不执行问题的解决方法

    在使用jQuery进行Ajax异步请求时,回调函数不执行是一个常见的问题,特别是在使用`$.post()`或`$.ajax()`函数时。本文将深入探讨jQuery `Ajax Post`回调函数不执行的原因,并提供相应的解决方法,同时也会分析`ajax ...

    jQuery读取json数据

    `success`回调函数会在请求成功并接收到数据时被调用,`data`参数就是解析后的JSON对象。`error`回调则用于处理请求失败的情况。 jQuery还提供了简化的API,如`$.getJSON()`,专门用于GET方式获取JSON数据: ```...

    jQuery JSON with PHP json_encode and json_decode

    这里,`$.getJSON`会发起一个HTTP GET请求到'server_script.php',服务器响应的JSON数据会被自动解析并作为回调函数的参数传递。 另外,PHP的`json_decode`函数则用于将JSON字符串转换回PHP变量。假设我们接收到...

    Jquery跨域Json请求处理

    jsonpCallback: "handleResponse" // 自定义回调函数名为handleResponse }); function handleResponse(data) { // 定义回调函数 console.log(data); // 在控制台打印返回的数据 // 可以在这里处理data中的数据 }...

    jquery+ajax+json例子

    例如,`$.ajax({url: "myUrl", type: "GET", success: function(data) { /* 处理返回的数据 */ }})`会向指定URL发送GET请求,成功后执行回调函数。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式...

    jQuery对后台json的解析

    在JavaScript的世界里,jQuery是一个非常流行的库,它简化了DOM...通过正确设置`dataType`并使用适当的回调函数,可以轻松地解析和利用这些数据。在实际开发中,理解并熟练运用这些技巧是提高前后端协作效率的关键。

    Jquery ajax json 总结

    在 `$.ajax()` 示例中,`success` 回调函数在请求成功时执行,`dataType` 指定了期望的响应类型。 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,特别适合在 JavaScript 和服务器之间传输数据,...

    springmvc + jquery + ajax + json 异步传递数据

    这些方法允许我们指定URL、请求类型(GET或POST)、数据以及回调函数,以处理服务器返回的数据。JSON数据通常在回调函数中解析,然后可以更新DOM元素,实现页面的局部刷新。 以下是一个简单的jQuery Ajax请求示例:...

    struts2使用jquery整合ajax、json用户登录实例源码

    当服务器返回JSON响应时,我们在success回调函数中处理结果。如果登录成功,可以根据需要进行相应操作;如果失败,可以显示错误消息。 通过这种方式,Struts2、jQuery、Ajax和JSON的结合使得用户登录过程变得既高效...

    28_JQuery的JSON支持

    其中,`url`参数是请求的URL,`data`是可选的查询字符串参数,`function(json)`是回调函数,当服务器响应且数据解析为JSON时执行,`json`参数就是解析后的JSON对象。 除了`$.getJSON()`,还可以使用`$.ajax()`方法...

    详谈 Jquery Ajax异步处理Json数据.

    在Ajax请求中,通过设置"dataType: 'json'"属性,可以指定服务器响应的数据类型为JSON格式,然后在回调函数中通过参数直接获取解析后的数据对象。 4. WebMethod与页面后台交互:在.NET框架中,[WebMethod]属性被...

    jQuery json

    它接受URL、回调函数和可选的数据参数: ```javascript $.getJSON('data.json', function(data) { console.log(data.name); // 假设data.json返回的是上面的JSON对象 }); ``` 3. **Ajax的dataType设置**:在...

    SSH1,JQuery的ajax返回json二维数组处理过程

    在`success`回调函数中,我们解析JSON数组并创建新的下拉选项。当用户点击“查看详情”按钮时,可能需要发送另一个AJAX请求获取详细信息,并将其显示在`#contentclass`元素内。 在服务器端,SSH1框架中的控制器...

    jQuery ajax读取json文件内容

    当请求成功且服务器返回正确的JSON数据时,`success`回调函数会被调用。在这里,我们可以访问到`data`参数,它包含了解析后的JSON对象。可以遍历这个对象,处理或展示其中的数据。 如果请求过程中发生错误,`error`...

    jquery-autoComplete 处理返回的json对象问题

    4. 考虑处理服务器返回的错误情况,例如设置`error`回调函数来显示错误信息。 通过以上步骤,我们应该能够成功地使jQuery-autoComplete与JSON数据源配合工作。在实际项目中,可能还需要根据需求进行更复杂的定制,...

    asp.net 实现回调函数

    在ASP.NET中,回调函数是一个重要的概念,它涉及到客户端和服务器之间的通信,尤其是当需要在不刷新整个页面的情况下更新部分网页内容时。本资源“asp.net 实现回调函数”提供了一个实例,帮助开发者理解并掌握如何...

    利用JQuery jsonp实现Ajax跨域请求json数据

    由于`<script>`标签不受同源策略限制,可以加载任何源的JavaScript文件,开发者会在请求的URL中添加一个回调函数名参数,服务器接收到请求后,会将数据包裹在这个回调函数中返回,客户端执行这个函数,从而实现了...

    Jquery解析json

    在这个过程中,`dataType: "json"`告诉jQuery期望服务器返回JSON数据,`success`回调函数则会在接收到数据后被调用,可以在此处对数据进行进一步处理或更新页面内容。 综上所述,通过结合使用jQuery和Struts2框架,...

Global site tag (gtag.js) - Google Analytics