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
相关推荐
另外,如果你的JSON数据是在本地文件系统中,如在压缩包中的'jquery 回调函数成功代码'文件,你可能需要使用file协议来访问,但这通常只在开发环境中可行,因为浏览器的安全策略通常不允许跨域请求本地文件。...
- `[callback]`:可选,当请求成功时执行的回调函数,接收到的数据会作为参数传递。 例如,从服务器获取JSON数据并处理: ```javascript $.getJSON('data.json', function(data) { console.log(data); }); ``` **...
在使用jQuery进行Ajax异步请求时,回调函数不执行是一个常见的问题,特别是在使用`$.post()`或`$.ajax()`函数时。本文将深入探讨jQuery `Ajax Post`回调函数不执行的原因,并提供相应的解决方法,同时也会分析`ajax ...
`success`回调函数会在请求成功并接收到数据时被调用,`data`参数就是解析后的JSON对象。`error`回调则用于处理请求失败的情况。 jQuery还提供了简化的API,如`$.getJSON()`,专门用于GET方式获取JSON数据: ```...
这里,`$.getJSON`会发起一个HTTP GET请求到'server_script.php',服务器响应的JSON数据会被自动解析并作为回调函数的参数传递。 另外,PHP的`json_decode`函数则用于将JSON字符串转换回PHP变量。假设我们接收到...
jsonpCallback: "handleResponse" // 自定义回调函数名为handleResponse }); function handleResponse(data) { // 定义回调函数 console.log(data); // 在控制台打印返回的数据 // 可以在这里处理data中的数据 }...
例如,`$.ajax({url: "myUrl", type: "GET", success: function(data) { /* 处理返回的数据 */ }})`会向指定URL发送GET请求,成功后执行回调函数。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式...
在JavaScript的世界里,jQuery是一个非常流行的库,它简化了DOM...通过正确设置`dataType`并使用适当的回调函数,可以轻松地解析和利用这些数据。在实际开发中,理解并熟练运用这些技巧是提高前后端协作效率的关键。
在 `$.ajax()` 示例中,`success` 回调函数在请求成功时执行,`dataType` 指定了期望的响应类型。 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,特别适合在 JavaScript 和服务器之间传输数据,...
这些方法允许我们指定URL、请求类型(GET或POST)、数据以及回调函数,以处理服务器返回的数据。JSON数据通常在回调函数中解析,然后可以更新DOM元素,实现页面的局部刷新。 以下是一个简单的jQuery Ajax请求示例:...
当服务器返回JSON响应时,我们在success回调函数中处理结果。如果登录成功,可以根据需要进行相应操作;如果失败,可以显示错误消息。 通过这种方式,Struts2、jQuery、Ajax和JSON的结合使得用户登录过程变得既高效...
其中,`url`参数是请求的URL,`data`是可选的查询字符串参数,`function(json)`是回调函数,当服务器响应且数据解析为JSON时执行,`json`参数就是解析后的JSON对象。 除了`$.getJSON()`,还可以使用`$.ajax()`方法...
在Ajax请求中,通过设置"dataType: 'json'"属性,可以指定服务器响应的数据类型为JSON格式,然后在回调函数中通过参数直接获取解析后的数据对象。 4. WebMethod与页面后台交互:在.NET框架中,[WebMethod]属性被...
它接受URL、回调函数和可选的数据参数: ```javascript $.getJSON('data.json', function(data) { console.log(data.name); // 假设data.json返回的是上面的JSON对象 }); ``` 3. **Ajax的dataType设置**:在...
在`success`回调函数中,我们解析JSON数组并创建新的下拉选项。当用户点击“查看详情”按钮时,可能需要发送另一个AJAX请求获取详细信息,并将其显示在`#contentclass`元素内。 在服务器端,SSH1框架中的控制器...
当请求成功且服务器返回正确的JSON数据时,`success`回调函数会被调用。在这里,我们可以访问到`data`参数,它包含了解析后的JSON对象。可以遍历这个对象,处理或展示其中的数据。 如果请求过程中发生错误,`error`...
4. 考虑处理服务器返回的错误情况,例如设置`error`回调函数来显示错误信息。 通过以上步骤,我们应该能够成功地使jQuery-autoComplete与JSON数据源配合工作。在实际项目中,可能还需要根据需求进行更复杂的定制,...
在ASP.NET中,回调函数是一个重要的概念,它涉及到客户端和服务器之间的通信,尤其是当需要在不刷新整个页面的情况下更新部分网页内容时。本资源“asp.net 实现回调函数”提供了一个实例,帮助开发者理解并掌握如何...
由于`<script>`标签不受同源策略限制,可以加载任何源的JavaScript文件,开发者会在请求的URL中添加一个回调函数名参数,服务器接收到请求后,会将数据包裹在这个回调函数中返回,客户端执行这个函数,从而实现了...
在这个过程中,`dataType: "json"`告诉jQuery期望服务器返回JSON数据,`success`回调函数则会在接收到数据后被调用,可以在此处对数据进行进一步处理或更新页面内容。 综上所述,通过结合使用jQuery和Struts2框架,...