Ajax
1. js原生方法实现方式
function request() {
// 创建实例
var xmlHttp;
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
} else {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
// 建立连接
xmlHttp.open("get", "servletTest1?username=tom", true);
// 发送请求
xmlHttp.send();
// 接收响应
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
alert(xmlHttp.responseText);
}
}
}
2. JQuery实现方式
1. $.ajax()
语法: $.ajax({键值对})
$.ajax({
url: "servletTest1",
type: "POST",
data: {username: "tom", age: 20},
success: function(resp) {
alert(resp);
},
error: function() {
alert("出错啦!")
},
dataType: "json" // 设置接收到的响应数据格式
});
2. $.get()
语法: $.get(url, [data], [callback], [type])
参数:
url: 请求路径
data: 请求参数
callback: 回调方法
type: 响应结果的类型
$.get(
"servletTest1",
{username: "tom", age: 23},
function(data) {
alert(data);
},
"text"
);
3. $.post()
语法: $.post(url, [data], [callback], [type])
参数:
url: 请求路径
data: 请求参数
callback: 回调方法
type: 响应结果的类型
JSON
1. 概念: JavaScript Object Notation JavaScript对象表示法
json现在多用于存储和交换文本信息的语法
进行数据的传输
JSON比xml更小,更快,更易于解析
2. 语法:
1. 基本规则:
数据在名称/键值对中: json数据是由键值对构成的
1. 键用引号引起来,也可以不适用引号
2. 值类型
1. 数字(整数或浮点数)
2. 字符串
3. 逻辑值
4. 数组(在方括号中) {"person": [{},{}]}
5. 对象(在花括号中) {"address": {"province": "山西"...}}
6. null
3. 数据有逗号分隔
4. 花括号保存对象: 使用{}定义json格式
5. 方括号保存数组: []
3. JSON转换
JSON解析器: Jsonlib, Gson, fastjson, jackson
1. JSON转Java对象
2. Java对象转换JSON
1. 使用步骤:
1. 导入jackson的相关jar包
2. 创建jackson核心对象ObjectMapper
3. 调用ObjectMapper的相关方法进行转换
1. 转换方法:
writeValue(参数1, obj):
参数1:
File:将obj对象转换为JSON字符串,并保存到指定文件中
Write: 将obj对象转换为JSON字符串,并将json数据田中到字符输出流中
OutputStream: 将obj对象转换成JSON字符串,并将json数据填充到字节输出流中
writeValueAsString(obj): 将对象转换为json字符串
2. 注解:
1. @JsonIgnore: 排除属性
2. @JSONFormat: 属性值的格式化
3. 复杂java对象转换
1. List: 数组
2. Map: 对象格式一致
4. 校验用户名是否存在
1. 服务器响应的数据,在客户端使用时,要想当做json数据格式使用
1. $.get(type): 将最后一个参数type指定为"json"
2. 在服务器端设置MIME类型
response.setContentype("application/json;charset=utf-8")