全称Asynchronous JavaScript and XML,即异步的 JavaScript 和 XML
它可以不重新加载整个页面,通过和服务器交换数据来更新部分网页
如何使用
1.创建 XMLHttpRequest 对象
var xhr = new XMLHttpRequest();
2.规定请求的类型、url、及是否异步处理
语法:open(method,url,async)
method:请求类型GET/POST
url:文件在服务器上的地址
async:true(异步)false(同步)
xhr.open("GET","xxx",true);
3.将请求发送到服务器
语法:send(string)
xhr.send();
请求类型为GET时无需用到string
如何选择GET/POST?
大部分情况下GET都能使用,且相比POST更简单更快
如果调用是向服务器上发送任意数据,就可以使用POST
4.当请求被发送到服务器时,我们可能会做一些响应事件
onreadystatechange 事件
当readyState 改变时,就会触发 onreadystatechange 事件
readyState记录XMLHttpRequest的状态,从0-4之间变化
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪
通常也会配合另一个属性status使用 200:成功 404:未找到页面
xhr.onreadystatechange=function(){
// 当xhr.status==200且xhr.readyState==4时响应已就绪
if (xhr.status==200 && xhr.readyState==4){
console.log(xhr.responseText);
}
}
jquery ajax
$.ajax({
//文件在服务器上的地址
url:"xxx",
//请求类型GET/POST
type:"GET",
//是否异步请求,默认为true即是异步请求
async: true/false,
//发送到服务器的数据
data:"string",
//预期服务器返回的数据类型
"dataType":"",
//响应成功后执行的代码
success:function(){
},
//请求失败后要执行的代码
"error":function(){
}
});