Ajax: asynchronous javascript and xml (异步javascript和xml),是可以与服务器进行(异步/同步)交互的技术之一。
ajax官方名字为: XMLHttpRuquest
使用步骤:
1.创建ajax对象
var xhr= new XMLHttpRequest();
var xhr= new ActiveXObject(‘Msxml2.XMLHTTP.6.0’);
2.创建一个新http请求协议,并设置请求的服务器端地址,get/post url服务器端地址
xhr.open(‘get’,”www.demo.com/response.PHP”)
3.把http 请求发送给服务器get – nul / post 请求数据
xhr.send(null)
4.ajax接收服务器返回信息
浏览器可以接收的信息ajax都可以接收,例如字符串、html标签、css样式内容、xml内容、json内容等
ajax 接收返回的信息,需要结合readyState/onreadystatechange/responseText 等属性一并操作
onreadystatechange事件最多感知4种状态改变信息。
------------------------------------------------------------------------------------------------------
ajax对象可以访问的成员属性:
responseText:以字符串形式接收服务器返回的信息
readyState:ajax对象状态
0:创建ajax对象,对象已建立,但是尚未初始化,尚未调用open方法
1:有调用open方法,对象已建立,尚未高度sen方法,已经调用open方法
2:有调用send方法,send 方法调用,但是当前的状态及http头未知
3:只返回一部分数据,已接收部分数据,因为响应及http头不全,这时responseBody和responseText获取部分数据 会出现 错误。
4:数据返回完整,数据已接收完毕 此时 可以通过 responseBody和responseText获取完整数据 。
onreadystatechange:是ajax的事件,在readyState状态发生变化的时候被触发,为了感知最多的状态信息,要设置在对象创建完毕之后感知’1/2/3/4’标志状态信息。
简单例子:
//创建一个ajax对象 var xhr = new XMLHttpRequest(); //感知ajax对象的状态信息 xhr.onreadystatechange = function(){ if(xhr.readyState == 4) { alert(xhr.responseText); } } //创建新http协议 xhr.open('get','test.PHP') //发送请求 xhr.send(null)