AJAX
1.概念
Ajax 即“ Asynchronous Javascript And XML ”(异步 JavaScript 和 XML),是指一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。
通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
异步和同步:客户端和服务器端相互通信的基础上
异步:客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作
同步:客户端不需要等待服务器端的响应。在服务器处理请求的过程中,客户端就可以进行其他的操作
提升用户的体验
2.jQuery的实现方式
3.$.post():发送post请求
*语法:$.get(url,[data],[callback],[type])
*参数:
url:请求路径
data:请求参数
callback:回调函数
type:响应结果的类型
JSON:
1.概念
JavaScript Object Notation JavaScript对象表示法
Person p = new Person();
p.setName(“张三”);
p.setAge(23);
p.setGender(“男”);
var p = {“name”:"张三”,“age”:23,“gender”,:“男”};
json现在多用于存储和交换文本信息的语法
进行数据的传输
JSON比XML更小、更快、更易解析
2.语法
1.基本规则
数据在名称/值对中:json数据是有键值对构成的
键用引号(单双号都行)引起来,也可以不使用引号
值的取值类型:
1.数字(整数和浮点数)
2.字符串(在双引号中)
3.逻辑值(true或false)
4.数组(再放括号中){”persons":[{},{}]}
5.对象(在花括号中){“address”:{“province”:“河南”…}}
6.null
数据由逗号分隔:多个键值对由逗号分隔
花括号保存对象:使用{}定义json格式
方括号保存数组:[]
2.获取数据
1.json对象.键名
2.json对象[“键名”]
3.数组对象[索引]
4.遍历
//1.定义基本格式
var person = {“name”:“zhangsan”,age:23,‘gender’:true};
var ps = [{“name”:“zhangsan”,“age”:23,“gender”:true},
{“name”:“zhangsan”,“age”:23,“gender”:true}],
{“name”:“zhangsan”,“age”:23,“gender”:true}];
//获取person对象中所有的键和值
//for in 循环
for(var key in person){
//这样的方式获取不行。因为相当于 person.“name”
//alert(key+":"+perosn.key);
alert(key+":"+person[key]);
}
//获取ps中的所有值
for(var i=0;i<ps.length;i++){
var p = ps[i];
for(var key in p){
alert(key+":"+p[key]);
}
}
3.JSON数据和Java对象的相互转化
JSON解析器:
常见的解析器:Jsonlib,Gson,fastjson,jackson
1.JSON转为Java对象
1.使用步骤:
1.导入jackson的相关jar包
2.创建Jackson核心对象ObjectMapper
3.调用ObjectMapper的相关方法进行转换
1.readValue(json字符串数据,Class)
2.Java对象转换json
1.使用步骤:
1.导入jackson的相关jar包
2.创建Jackson核心对象ObjectMapper
3.调用ObjectMapper的相关方法进行转换
3.复杂java对象转换
1.List:数组
2.Map:对象格式一致
案例:
校验用户名是否存在
1.服务器响应的数据,在客户端使用时,要想当做json数据格式使用
1.$.get(type):将最后一个参数type指定为“json"
2.在服务器端设置MIME类型
response.setContentType(“application/json;charset=utf-8”);