Json&Ajax认识和简单语法

JSON:轻量数据交换的利器与应用详解
本文介绍了JSON的诞生背景,作为替代XML的简洁解决方案,及其在网络数据传输中的高效特性。重点讲解了JSON的纯文本格式、层次结构、易读性和在Java中的应用,以及Ajax和前后端异步交互的实践。
认识json
  • 什么是json
    JSON是一种轻量级的数据交换格式
  • 为什么有json
    在JSON出现之前,大家一直用XML来传递数据。因为XML是一种纯文本格式,所以它适合在网络上交换数据。XML本身不算复杂,但是,加上DTD、XSD、XPath、XSLT等一大堆复杂的规范以后,任何正常的软件开发人员碰到XML都会感觉头大了,最后大家发现,即使你努力钻研几个月,也未必搞得清楚XML的规范。于是更简洁清晰的JSON格式应运而生。风靡全球。
  • json作用
    网络数据传输
  • json有什么特点
    1 . 纯文本形式并具备简洁清晰的层次结构
    2 .json具有“自我描述性”,易与人人阅读和编写
    3 .具有层级结构,易于机器解析和生成,可以有效的提升网络传输效率
    4 .可以在js中直接解析。
json存储数据格式
  • 对象形式存储数据
    {“name”:“张三”,“age”:18}
  • 数组形式存储数据
    [“name”:“张三”,“车子”,“房子”,213]
    数组形式存储不要求都是同一种类型
页面访问json数据
页面上通过(.)来访问(修改)对象的值
页面上通过(数组名[索引])来访问或修改数组中的值
数组还支持for-of形式遍历数字
for(a of arr){ a就是遍历出来的内容 }
获取json数据方式
特点:遇到对象用(.),遇到数组使用[]。

在这里插入图片描述
在这里插入图片描述

Java中如何使用json

Java本身没有json对象及数组格式。但是支持字符串,而json本质就是一串特殊的字符串。所以我们只需要把Java对象或者集合转换成json格式的字符串,传递给前端,前端就可以解析了。同样的如何前端传递json字符串给Java,我们只需要把json格式字符串转换成相应的Java对象即可。

我们可以采用JSON的转换工具来实现,json的转换工具是通过Java封装好的一些jar工具包,完成Java对象与json格式的字符串的相互转换
在这里插入图片描述
浏览器给服务器发送请求的方式

  • 在浏览器地址栏输入url,按回车键发送;
  • 在HTML页面通过超链接标签
    < a href=“跳转地址”>< /a >
  • 在Javascript中,通过location.href="跳转网址"发送请求
  • 通过form表单发送请求

如果上面几种方式发起请求之后服务器迟迟不给响应会出现什么情况:页面假死。

前后端的交互方式

在这里插入图片描述同步请求的缺点:
开发之前,每当用户向服务器发送请求,哪怕只是需要更新一点点的局部内容,服务器都会将整个页面进行刷新。
1.性能会有所下降(一点内容,刷新整个页面!)
2.用户的操作页面会中断(整个页面被刷新了)

在这里插入图片描述使用异步请求可以不用刷新整个页面,只针对局部请求的刷新。

同步请求:串行操作,发送一个请求,需等待响应,期间不能够再次发送请求;

异步请求:并行操作,发送一个请求,无需等待响应,即可再发送请求;
同步请求适用什么情况:这个表单提交到服务器,银行的转账系统,对数据库的保存操作等等,都会使用同步交互操作。(一个页面就做一件事)

如何实现Ajax
  • jQuery的GET方式实现:

核心语法:$.get(url,[data],[callback],[type]);

​ url:请求的资源路径。

​ data:发送给服务器端的请求参数,格式可以是key=value,也可以是 js 对象。

​ callback:当请求成功后的回调函数,可以在函数中编写我们的逻辑代码。

​ type:预期的返回数据的类型,取值可以是 xml, html, js, json, text等。

  • jQuery的POST方式实现:

核心语法:$.post(url,[data],[callback],[type]);

​ url:请求的资源路径。

​ data:发送给服务器端的请求参数,格式可以是key=value,也可以是 js 对象。

​ callback:当请求成功后的回调函数,可以在函数中编写我们的逻辑代码。

​ type:预期的返回数据的类型,取值可以是 xml, html, js, json, text等。

  • jQuery的通用方式实现:

核心语法:$.ajax({name:value,name:value,…});

​ url:请求的资源路径。

​ async:是否异步请求,true-是,false-否 (默认是 true)。

​ data:发送到服务器的数据,可以是键值对形式,也可以是 js 对象形式。

​ type:请求方式,POST 或 GET (默认是 GET)。

​ dataType:预期的返回数据的类型,取值可以是 xml, html, js, json, text等。

​ success:请求成功时调用的回调函数。

​ error:请求失败时调用的回调函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值