jQuery使用ajax方法解析返回的json数据功能示例

发布时间 - 2026-01-10 22:25:04    点击率:

本文实例讲述了jQuery使用ajax方法解析返回的json数据功能。分享给大家供大家参考,具体如下:

最近在用jQuery的ajax方法传递接收json数据时发现一个问题,那就是返回的data数据,有时候可以直接作为json数据使用,可有时候又不行。查了些资料,解释如下:

$.ajax({
  url: ajaxurl,
  type: "POST",
  success: function(data){
   //假设返回的json数据里有status及info2个属性
   //有时候可以直接ajaxobj.status或者ajaxobj["status"]去访问
   //但有时候,却要通过eval()或者 $.parsejson();才可以通过ajaxobj.status访问,而且这种情况下,需要是complete而不是success
   ajaxobj=eval("("+data+")");
   //或者$.parsejson()
   //var ajaxobj = $.parsejson(data);
   if(ajaxobj.status=="0")
   {
    alert("请登陆.");
   }
   else if(ajaxobj.status=="1")//未绑定微博
   {
    alert(ajaxobj.info);
   }
   return true;
  },
  error:function(ajaxobj)
  {
     if(ajaxobj.responseText!='')
     alert(ajaxobj.responseText);
  }
});

先说明第一种情况:

能够直接 data.属性名访问的情况,服务器端代码一定是直接return的一个常量字符串。

什么是常量字符串呢,常量字符串就是指直接用“”组成的字符串,没有定义String 变量直接把一串“”print到前台的情况,就可以直接data.属性名访问,而且jquery端只要写success就可以拿到。

下面是造成要eval并且不能进入success的原因:

这种情况是因为服务器端向外print的时候是一个String对象,通常此类问题在我的代码里是因为后台json比较复杂,在组织的时候我用到了StringBuffer,然后最后print的时候print的是StringBuffer对象的toString,所以就相当于print了一个String对象

这种情况下jquery的ajax方法就不会进入success方法,只能用complete接收,并且想要解析data里的json数据的话,必须对data.responseText进行eval ()或者 $.parsejson();

除此两点,还有需要注意的是,如果你使用的是jq1.4,那么他对json的格式有着更严格的要求,所有的key和属性都要用双引号标注起来,虽然key不用双引号原生的js是允许的,但是jq1.4似乎有这个要求。

以上是我个人的想法跟理解,若有不同见解欢迎指教.

PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线JSON代码检验、检验、美化、格式化工具:
http://tools./code/json

JSON在线格式化工具:
http://tools./code/jsonformat

在线XML/JSON互相转换工具:
http://tools./code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools./code/jsoncodeformat

在线json压缩/转义工具:
http://tools./code/json_yasuo_trans

C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools./code/ccode_html_css_json

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jquery中Ajax用法总结》、《jQuery操作json数据技巧汇总》、《jQuery form操作技巧汇总》、《jQuery常用插件及用法总结》、《jQuery扩展技巧总结》、《jQuery表格(table)操作技巧汇总》及《jquery选择器用法总结》

希望本文所述对大家jQuery程序设计有所帮助。


# jQuery  # ajax  # 解析  # 返回  # json数据  # JS解析json数据并将json字符串转化为数组的实现方法  # JavaScript中解析JSON数据的三种方法  # JS中Json数据的处理和解析JSON数据的方法详解  # Jquery解析json数据详解  # JavaScript处理解析JSON数据过程详解  # javascript解析json数据的3种方式  # json数据传到前台并解析展示成列表的方法  # javascript对JSON数据排序的3个例子  # js解析与序列化json数据(二)序列化探讨  # javascript 循环读取JSON数据的代码  # JavaScript解析JSON数据示例  # 的是  # 是因为  # 可以直接  # 就可以  # 转换工具  # 是一个  # 情况下  # 操作技巧  # 如果你  # 双引号  # 相关内容  # 他对  # 感兴趣  # 我用  # 给大家  # 要用  # 才可以  # 此类  # 这种情况  # 又不 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在万网开始建站?分步指南解析  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  实现点击下箭头变上箭头来回切换的两种方法【推荐】  php json中文编码为null的解决办法  如何快速建站并高效导出源代码?  如何在IIS中配置站点IP、端口及主机头?  做企业网站制作流程,企业网站制作基本流程有哪些?  如何确保FTP站点访问权限与数据传输安全?  nodejs redis 发布订阅机制封装实现方法及实例代码  千库网官网入口推荐 千库网设计创意平台入口  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  如何彻底卸载建站之星软件?  如何用搬瓦工VPS快速搭建个人网站?  昵图网官网入口 昵图网素材平台官方入口  在Oracle关闭情况下如何修改spfile的参数  移动端脚本框架Hammer.js  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  如何在万网主机上快速搭建网站?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  微信小程序 scroll-view组件实现列表页实例代码  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  奇安信“盘古石”团队突破 iOS 26.1 提权  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  如何正确选择百度移动适配建站域名?  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  如何在VPS电脑上快速搭建网站?  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  在线制作视频网站免费,都有哪些好的动漫网站?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  如何用低价快速搭建高质量网站?  JavaScript如何实现倒计时_时间函数如何精确控制  Python制作简易注册登录系统  Python文本处理实践_日志清洗解析【指导】  如何制作一个表白网站视频,关于勇敢表白的小标题?  Laravel如何实现API版本控制_Laravel版本化API设计方案  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  JavaScript数据类型有哪些_如何准确判断一个变量的类型  如何用AWS免费套餐快速搭建高效网站?  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  创业网站制作流程,创业网站可靠吗?  Laravel如何创建自定义Facades?(详细步骤)  HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  高防服务器租用首荐平台,企业级优惠套餐快速部署  香港服务器网站生成指南:免费资源整合与高速稳定配置方案