Ajax
Ajax全称:Asynchronous Javascript And XML(异步 JS和XML),它能使用JS实现异步访问服务器。众所周知,服务器给客户端传过去的是整个html完整页面,而Ajax局部刷新,服务器不再响应整个页面,只是传递数据,数据交换可以是txt、xml、json
异步交互与同步交互
同步:
例如发送一个请求,需要等待伺服器响应结束,才能发送第二个请求,等待时间给用户的直观感受就是”卡”
刷新是刷新整个页面
异步:
例如同上发一个请求后,无需等待伺服器的响应,就能开始发送第二个请求
可以使用js结束伺服器的响应,然后使用js的局部刷新
Ajax优缺点
优点:
异步交互:增强用户体验
性能:因为伺服器无需重复加载整个页面,只需要响应部分内容,减轻伺服器压力
缺点;
场景:局限性,不是所有场景适用
无端增多了对伺服器的访问次数,给伺服器带来了压力
Ajax使用
Ajax发送异步请求
1 | //四步操作 |
XStream
作用
可以把javaBean序列化(即转化)为xml
XStream的jar包
核心JAR包:XStream-1.4.7.jar
必须依赖包:xpp3_min-1.1.4c(XML Pull Parser,一款速度很快的xml解析器)
使用步骤
1 | XStream xstream = new XStream(); |
JSON
JSON是什么
JS提供的一种数据交换格式!
JSON的语法
示例;var person = {"name": "zhangsan", "age": 18, "sex": "male"};
这JSON对象就跟JS字面式定义对象没什么区别,{}表示对象,里面属性值可以是null、数值、字符串、数组(用[]括起来)、布尔值
属性名这里必须用双引号括起来,单引号不行
上例JSON对象如果用双引号括起来成字符串,也可以通过eval函数实现转换
1 | var str = "{\"name\": \"zhangsan\", \"age\": 18, \"sex\": \"male\"}";//双引号里面的双引号需要使用转义字符 |
JSON与XML比较
可读性:XML胜出
解析难度:JSON简单很多
流行度:XML已经流行很多年,但在AJAX领域,JSON更受欢迎
json-lib小工具
是什么?
它可以把javabean转换为json串
核心类
JSONObject –父类Map
JSONArray –父类List
使用方式
1 | //方式一 |
打包AJAX工具类
1 | //创建XMLHttpRequest对象函数 |