`

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.json.js

    使用`dataType: 'json'`参数指定返回数据类型为JSON: ```javascript $.ajax({ url: 'data.json', dataType: 'json', success: function(data) { console.log(data); } }); ``` **jQuery.parseJSON()和JSON....

    jQuery JSON with PHP json_encode and json_decode

    在jQuery中,我们可以使用`$.getJSON`方法或者`$.ajax`方法的`dataType: 'json'`选项来获取服务器返回的JSON数据。例如: ```javascript $.getJSON('server_script.php', function(data) { console.log(data.name)...

    jquery+ajax+json例子

    服务器响应的数据类型被设置为JSON,这意味着jQuery会尝试将返回的数据解析为JavaScript对象。如果请求成功,`success`回调会被调用,其中的`response`参数包含了服务器返回的数据。在这个回调中,我们可以遍历JSON...

    jQuery读取json数据

    在这个例子中,`url`是服务器端接口的地址,`type`是请求类型,`dataType`指定我们期望服务器返回的数据类型为JSON。`success`回调函数会在请求成功并接收到数据时被调用,`data`参数就是解析后的JSON对象。`error`...

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

    这里,LoginAction是处理登录的Action,result类型设置为json,表示将返回JSON格式的结果,includeProperties参数指定了要包含在JSON响应中的属性。 在jQuery中,我们可以使用$.ajax()方法发送登录请求,如下所示:...

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

    dataType: "json", // 设置期望的响应类型为JSON success: function(data) { var options = ""; // 初始化新的选项 for (var i = 0; i ; i++) { options += `${data[i].key}">${data[i].val}</option>`; } $...

    jQuery对后台json的解析

    当从后台获取JSON数据时,我们需要设置`dataType`参数为`'json'`,以告知jQuery期望的响应类型。例如: ```javascript $.ajax({ url: 'your-api-url', type: 'GET', dataType: 'json', success: function(data)...

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

    SpringMVC、jQuery、Ajax和JSON这四个技术的结合,为开发者提供了一种高效且灵活的方式来实现这一功能。接下来,我们将深入探讨这些技术以及它们如何协同工作。 SpringMVC是Spring框架的一部分,是一个强大的MVC...

    jquery-json使用

    在jQuery中,我们可以使用`$.parseJSON()`方法将JSON字符串转换为JavaScript对象。例如,假设我们从服务器获取到一个JSON字符串: ```json var jsonString = '{"name": "John", "age": 30, "city": "New York"}'; `...

    jQuery json

    3. **Ajax的dataType设置**:在进行Ajax请求时,可以指定`dataType: 'json'`,jQuery会自动将响应数据解析为JSON对象: ```javascript $.ajax({ url: 'data.json', dataType: 'json', success: function(data)...

    jQuery xml-to-json xml转JSON插件

    jQuery xml-to-json插件是一种用于将XML数据转换为JavaScript Object Notation (JSON)格式的工具。在Web开发中,XML和JSON都是常见的数据交换格式,但它们有着不同的应用场景和优势。XML(Extensible Markup ...

    jquery的ajax传json对象数组到struts2的action

    dataType: 'json', success: function(response) { console.log('Data saved successfully:', response); }, error: function(jqXHR, textStatus, errorThrown) { console.error('Error saving data:', ...

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

    本文将深入探讨如何处理jQuery-autoComplete插件在接收到JSON对象返回数据时可能遇到的问题。 `jQuery-autoComplete` 是jQuery UI的一个插件,它允许我们为输入框提供动态的下拉建议。这个功能通过监听用户输入并...

    jQuery ajax读取json文件内容

    `dataType`参数告诉jQuery我们期望的返回类型是JSON,这样jQuery会自动将服务器返回的文本解析为JavaScript对象。 当请求成功且服务器返回正确的JSON数据时,`success`回调函数会被调用。在这里,我们可以访问到`...

    Jquery解析json

    jQuery支持通过AJAX获取JSON数据,并可以非常方便地将JSON数据转换为jQuery对象进行操作。 在实际应用中,通常后端会返回JSON格式的数据,前端使用jQuery来解析这些数据并动态更新页面内容。这种方式大大提高了网页...

    28_JQuery的JSON支持

    例如,设置`dataType`为'json',可以确保返回的数据自动被解析为JSON对象: ```javascript $.ajax({ url: 'your_url', type: 'GET', dataType: 'json', success: function(json) { // 处理json数据 } }); ```...

    jquery跨域获取json

    标题 "jquery跨域获取json" 涉及到的是JavaScript中的一个常见问题,即如何在浏览器环境中使用jQuery库跨越域限制获取JSON数据。这通常涉及到AJAX请求和JSONP(JSON with Padding)技术。 首先,我们需要理解Web...

    基于jQuery的AJAX和JSON的实例.zip

    `dataType: 'json'`告诉jQuery期待服务器返回的数据类型,这样jQuery会自动将响应体解析为JavaScript对象。 除了$.ajax(),jQuery还提供了更简洁的API,如$.get()、$.post()和$.getJSON()。例如,如果你只需要发送...

    jQuery-ajax-json实现自动轮播图.rar

    dataType: 'json', success: function(data) { var html = ''; $.each(data.images, function(index, image) { html += '<div class="slide"><img src="' + image.url + '" alt="' + image.title + '"></div>';...

Global site tag (gtag.js) - Google Analytics