ajax是什么?
- AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
- 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
基础/核心
XMLHttpRequest 对象
XMLHttpRequest 用于在后台与服务器交换数据。意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
请求过程
1. 创建XMLHttpRequest对象
if(window.XMLHttpRequest){
var xhr = new XMLHttpRequest(); //现代浏览器
}else{
var xhr = new ActiveXObject("Microsoft.XMLHTTP"); //ES6
}
2. 设置请求方式
xhr.open('get', 'demo.php', true); //对于demo.php的get请求,false同步true异步
3. 调用回调函数 接受服务器返回信息
xhr.onreadystatechange = function(){ //监听请求状态变化
if(xhr.readyState==4){ //响应就绪时执行
if(xhr.status==200){ //判断HTTP返回码是否正确返回数据
var data = JSON.parse(xhr.responseText);//获取返回的数据
var str = "";
for(var i = 0; i < data.length; i++){ //处理返回数据
str += "<li>"+data[i]+"</li>";
}
oList.innerHTML = str; //写入页面
}else{
oTip.innerHTML = "请求失败,请重试";
}
}
}
XMLHttpRequest状态值readyState
- 0 请求未初始化
- 1 服务器连接己建立
- 2 请求已接收
- 3 处理请求,响应中
- 4 响应就绪
注:请求后不论能否返回数据,xhr.readyState的值都会变成4为响应成功。(无论访问是否成功都将响应的步骤)
XMLHttpRequest状态码status
- 200 - 请求成功
- 301 -Moved Permanently 资源(网页等)被永久转移到其它URL
- 304 -Not Modified 使用缓存文档
- 404 - 请求的资源(网页等)不存在
- 500 - 内部服务器错误
注:无论ajax访问是否成功,由HTTP协议根据所提交的信息,服务器所返回的HTTP头信息代码、