1.原生ajax
asynchoronous javascript and xml 异步的javascript和xml简单的说就是不需要刷新网页,就可以请求服务端。
同步:客户端向服务端请求数据,当服务器发回响应之前,客户端属于卡死等待状态
异步:客户端向服务器端,无论服务器是否返回响应,客户端仍然可以做其他的事情
简而言之:就是一个必须等待类似于单片机当中的裸机程序必须要在等待完成一件事情之后才能再去做另一件事
异步则相当于开启定时器中断事件一样
它的运行机制:浏览器内核中的ajax引擎,ajax引擎会提交请求到服务器端,而这段时间,客户端可以随意进行操作
直到返回到响应的事件,执行相应的js代码,ajax引擎是一种分布式的响应
2.原生的js编写ajax
1.创建XMLHttpRequest对象
语法
var xmlHttp = new XMLHttpRequest();
老版本的浏览器
var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
2.为ajax引擎对象绑定监听
xmlHttp.onreadystatechange = function(){
}
3.绑定提交地址
发送请求GET
xmlHttp.open(参数1,参数2,参数3)
参数1:发送的请求方法(必须大写"GET" "POST")
参数2:请求的地址 servlet url-pattern "/01_ajax/ajaxServlet"
参数3:true,false 是否异步 true为异步
4.发送请求
xmlHttp.send(String); 只适用于POST请求
发送之前需要加上请求消息头 xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
json数据,是一个轻量级的数据格式,可以用来作为交互(浏览器和服务器,客户端和PC端)
json数据有两种格式
对象形式的格式
{
"objectvarname":object,
"password":"123",
"like":["swimming","football"]
}
数组/集合格式
[
{
“a”:1
}
]
两种格式可以相互嵌套使用