Ajax

ajax  (Asynchronous JavaScript and XML)  异步Javascript和XML

用javascript异步形式去操作XML(ajax是javascript的一个内置对象,用来请求数据)

无刷新页面的情况下,获得数据,通过Ajax对象发送请求(可加载某一片段数据)、

使用Ajax调用数据的步骤

1.创建一个ajax对象,对象名字是XMLHttpRequest();

var xhr = new XMLHttpRequest();
(IE7以下不支持此方法,使用ActiveXObject('Microsoft.XMLHTTP')创建对象)
//兼容性写法一
var xhr = null;
if(window.XMLHttpRequest){
  xhr = new XMLHttpRequest();
}else{
  xhr = new ActiveXObject('Microsoft.XMLHTTP');
}

//兼容性写法2
try{
  xhr = new XMLHttpRequest();
}catch(e){
  xhr = new ActiveXObject('Microsoft.XMLHTTP');
}

2.利用Ajax函数自带的属性和方法去调用数据(请求数据)

xhr.open('get','1.php'.true);
xhr.send(); //发送请求

open(打开方式(get,post),地址(发送请求的地址),是否异步(true,false))
false同步:阻塞,前面代码会影响后面代码的执行,当后续的代码需要前面的代码的时候使用同步。
true异步:非阻塞,前面代码不会影响后面代码的执行。

3.数据获取

xhr.onreadystatechange = function(){
  if(xhr.readyState == 4){
    if(xhr.status == 200){
      alert(xhr.responseText);
    }else{
      alert('出错了,Err:'+xhr.status);
    }
  
  } }
onreadystatechange事件: 当状态值readyState发生改变时触发
readyState: ajax请求状态。
0:初始化看,还没有调用open()方法
       1:(载入)已调用send()方法,正在发送请求
       2:(载入完成)send()方法完成,已收到全部响应内容
       3:(解析)正在解析响应内容  
       4:(完成)响应内容解析完成,可以在客户端调用

返回的内容:
  responseText: 返回以文本形式存放的内容,字符串类型
  responseXML: 返回XML形式的内容
服务器请求资源的状态:
  status: 服务器返回的状态值(200成功,404失败)
原文地址:https://www.cnblogs.com/baixuemin/p/6491426.html