AJAX:
1.基本概念: ASynchronous JavaScript And XML 触发器的JavaScript 和 XML
1.触发器和并行:应用程序和服务端互相通讯的基础上
*应用程序要等候服务端的响应。在等候的前夕应用程序无法做其它操作形式。
*应用程序不须要等候服务端的积极响应。在伺服器处置允诺的操作过程中,应用程序能展开其它的操作形式。
Ajax 是一类在无须再次读取整座网页的情况下,能预览部份网页的控制技术。[1]
透过在前台与软件商小量数据传输,Ajax 能使网页同时实现触发器预览。这意味著能在不再次读取整座网页的情况下,对网页的某部份展开预览。
现代的网页(不采用 Ajax)假如须要预览文本,要空载整座网页网页。
提高采用者的新体验
2.同时实现形式:
1.原生植物的JS同时实现形式(介绍)
//1.建立核心理念第一类
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”);
}
//2.建立连接
/*
参数:
1.允诺形式:GET、POST
* get形式,允诺参数在URL后边拼接。send方法为空参
* post形式,允诺参数在send方法中定义
2.允诺的URL:
3.并行或触发器允诺:true(触发器)或 false(并行)
*/
xmlhttp.open(“GET”,”ajaxServlet?username=tom”,true);
//3.发送允诺
xmlhttp.send();
//4.接受并处置来自伺服器的积极响应结果
//当xmlhttp第一类的就绪状态改变时,触发事件onreadystatechange。
xmlhttp.onreadystatechange=function()
{
//判断readyState就绪状态是否为4,判断status积极响应状态码是否为200
if (xmlhttp.readyState==4&& xmlhttp.status==200)
{
var responseText = xmlhttp.responseText;
alert(responseText);
}
}
2. JQeury同时实现形式
1.$.ajax()
*语法:$.ajax({键值对});
//采用$.ajax()发送触发器允诺
$.ajax({
url:”ajaxServlet1111″, //允诺路径
type:”POST”, //允诺形式
//data:”username=jack&age=23″,//允诺参数
data:{“username”:”jack”,”age”:23},
success:function (data){
alert(data);
},//积极响应成功后的回调函数
error:function (){
alert(“出错啦…”)
},//表示假如允诺积极响应出现错误,会执行的回调函数
dataType:”text”//设置接受到的积极响应数据的格式
});
2.$.get():发送get允诺
*语法:$.get(url,[data],[callback],[type])
*参数:
* url:允诺路径
* data:允诺参数
* callback:回调函数
* type:积极响应结果的类型
3.$.post():发送post允诺
*语法:$.post(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 格式
*方括号保存数组:[]
1. json第一类.键名
2. json第一类[“键名”]
3.数组第一类[索引]
4.遍历
//1.定义基本格式
var person ={“name”:”张三”, age:23,gender: true};
var ps =[{“name”:”张三”,”age”:23,”gender”: true},
{“name”:”李四”,”age”:24,”gender”: true},
{“name”:”王五”,”age”:25,”gender”: false}];
有的键和值
//for in 循环
/* for(var key in person){
//alert(key +”:”+ person.key);
alert(key+”:”+person[key]);
}*/
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.导入jackson的相关jar包
2.建立Jackson核心理念第一类 ObjectMapper
3.调用ObjectMapper的相关方法展开转换
1. readValue(json字符串数据,Class)
2. Java第一类转换JSON
1.采用步骤:
1.导入jackson的相关jar包
2.建立Jackson核心理念第一类 ObjectMapper
3.调用ObjectMapper的相关方法展开转换
1.转换方法:
* writeValue(参数1,obj):
参数1:
File:将obj第一类转换为JSON字符串,并保存到指定的文件中
Writer:将obj第一类转换为JSON字符串,并将json数据填充到字符输出流中
OutputStream:将obj第一类转换为JSON字符串,并将json数据填充到字节输出流中
* writeValueAsString(obj):将第一类转为json字符串
2.注解:
1.@JsonIgnore:排除属性。
2.@JsonFormat:属性值得格式化
*@JsonFormat(pattern =”yyyy-MM-dd”)
3.复杂java第一类转换
1. List:数组
2. Map:第一类格式一致
案例:
*校验采用者名是否存在
1.伺服器积极响应的数据,在应用程序采用时,要想当做json数据格式采用。有两种解决方案:
1.$.get(type):将最后一个参数type指定为”json”
2.在服务端设置MIME类型
response.setContentType(“application/json;charset=utf-8”);