AJAX
- 概念:异步的ajax 和 XML
AJAX 作用
- 与服务器进行数据交换,通过 AJAX可以给服务器发送请求,并 获取服务器响应的数据
- 通过AJAX发送浏览器的请求 与 Servlet沟通
- 使用AJAX和服务器通信 , 可以和 HTML+AJAX 来替换JSP页面了
- 使得前后端分离
异步交互: 可以在不重新加载整个界面的情况下,与服务区交换数据并更新部分网页的技术
- 如: 搜索联想 、用户名是否可校验,等等
同步 和 异步
- 同步: 客户端发送请求等待服务端响应
- 异步: 客户端发送请求等待服务器响应的过程中, 可以进行其他操作
AJAX 快速入门
- 给服务端发送请求 并 获取 服务端的响应
发送请求
- xmlhttp.open("GET","URL");
- xmlhttp.send();
xmlhttp.open("GET","URL");
xmlhttp.open(请求方式,请求资源的链接地址,是否是异步);
接收服务器响应数据
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4 && xmlhttp.statu == 200){alert(xmlhttp.responseText);
}
}
AJAX案例 验证用户是否存在
在完成用户注册时,当用户名失去焦点的时候,验证用户名是否在数据库里面存在
- 项目中的register.html
- ajax_select_user
AXIOS
- AXIOS 是 一个基于promise的网络请求库
使用axios发送请求,并获取响应结果
axios({method:"get",url:"xxx?username=xx"}).then(function (resp){....}); axios({method:"post",url:"xxx",data="xxx"}).then(function (resp){....});
AXIOS 请求方式别名
- axios.get(url[,config])
- axios.post(url,请求参数[,config])
发送get请求 和 发送post请求
axios.get("url").then(function(resp){..}) axios.post("url",请求参数).then(function(resp){..})
111
JSON
- JSON语法简单,层次结构鲜明,现多用于作为数据载体,在网络中进行数据传输。
- JavaScript对象表示法
JavaScript对象
{ name: "zhangsan", age:23 }
JSON
{ "name" : "zhangsan", "age" : 23 }
目录
- JSON基础语法
- JSONs数据和java对象转换
JSON基础语法
定义
var 变量 = '{"key":value,"key":value,...}'
value的数据类型
- 数字 (直接填入整数)
- 字符串(在引号里面)
- 逻辑值(true 或 false)
- 数组(在方括号里面)
- 对象(在花括号里面)
- null
json例子
- thiree_json_start.html
- JSON.parse 方法转化json字符串
对象转化为JSON
- let s = JSON.stringify(parse);
- Axios中 ,json 字符串和JS对象自动转换
服务端接收
BufferedReader reader = request.getReader();
String s = reader.readLine();
System.out.println(s);
JSON 数据和JAVA对象转换
- 请求数据: JSON字符串转化为JAVA对象
- 响应数据: java对象转化为JSON对象
JSON JSON对象转换
- Fastjson对象
- Java语言中最快的JSON库,实现JAVA对象和JSON字符串相互转换
- alibaba开发的 NB
使用步骤
导包
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>2.0.17</version> </dependency>
- JAVA对象转json
String jsonStr = JSON.toJSONString(obj);
- JSON字符串转JAVA对象
User user = JSON.parseObjects(jsonStr,User.class );
例子代码
seven_user xiaoming = new seven_user(); xiaoming.setId(1); xiaoming.setName("王小明"); xiaoming.setPassword("decade"); String s = (String) JSON.toJSONString(xiaoming); // 解析 System.out.println(s); seven_user parse = JSON.parseObject(s, seven_user.class); // 从字符串到 对象 System.out.println(parse);