• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > jQuery使用ajax方法解析返回的json数据功能示例

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

作者:Sara 字体:[增加 减小] 来源:互联网 时间:2017-05-11

Sara通过本文主要向大家介绍了jquery ajax示例,jquery ajax json,jquery ajax json实例,jquery ajax 返回json,jquery ajax解析json等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了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);
  }
});

</div>

先说明第一种情况:

能够直接 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.weikejianghu.com/code/json

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

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

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

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

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

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

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • jquery中封装函数传递当前元素的方法示例
  • jQuery插件HighCharts实现的2D面积图效果示例【附demo源码下载】
  • jQuery插件HighCharts实现气泡图效果示例【附demo源码】
  • Vue-resource实现ajax请求和跨域请求示例
  • jQuery实现的简单拖动层示例
  • 利用Jquery实现几款漂亮实用的时间轴(附示例代码)
  • jQuery基于ajax方式实现用户名存在性检查功能示例
  • jQuery基于Ajax方式提交表单功能示例
  • jQuery插件form-validation-engine正则表达式操作示例
  • jQuery实现获取隐藏div高度的方法示例

相关文章

  • 2017-05-11bootstrap组件之导航组件使用方法
  • 2017-05-11jquery实现折叠菜单效果【推荐】
  • 2017-05-11快速实现jQuery多级菜单效果
  • 2017-05-11jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
  • 2017-05-11jQuery表格(Table)基本操作实例分析
  • 2017-05-11详解Vue-基本标签和自定义控件
  • 2017-05-11JavaScript定义全局对象的方法示例
  • 2017-05-11javascript中replace使用方法总结
  • 2017-05-11微信小程序中实现一对多发消息详解及实例代码
  • 2017-05-11JS实现浏览器打印、打印预览示例

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Javascript Event(事件)的传播与冒泡
    • javascript中this用法实例详解
    • ES6新特性三: Generator(生成器)函数详解
    • JS实现AES加密并与PHP互通的方法分析
    • 新闻上下滚动jquery 超简洁(必看篇)
    • angularjs点击图片放大实现上传图片预览
    • js调用刷新界面的几种方式
    • 基于JQuery的购物车添加删除以及结算功能示例
    • AngularJS动态菜单操作指令
    • AngularJs 利用百度地图API 定位当前位置 获取地址信息

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有