Ajax基础知识详解

Ajax主要的功能是实现了浏览器端 异步 访问服务器:通过浏览器的XMLHttpRequest对象发出小部分数据,与服务端进行交互,服务端返回小部分数据,然后更新客户端的部分页面。

1.先实例化XMLHttpRequest对象

var request;

if (window.XMLHttpRequest){

request=new XMLHttpRequest();

}

else{

request=new ActiveXObject("Microsoft.XMLHTTP");

//兼容ie5 6

}

2.XMLHttpRequest的方法将请求发送给服务器

request.open("POST",get.php,true);//请求

//设置http的头信息,告诉服务器我们要以send键值对方式发送一个表单,

request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

//POST必须设置Content-Type的值在open与send之间

request.send("name=王二狗&sex=男");//用send方法提交给服务端

3.获取响应的方法

responseText 获得字符串形式的响应数据

responseXML 获得XML形式的响应数据

status和statusText 以数字和文本形式返回HTTP状态码

getAllResponseHeader() 获取所有的响应报头

getResponseHeader() 查询响应中的某个字段的值

4.监听readyState属性的变化很重要

    为0 请求未初始化,open还没有被调用

    为1 服务器连接已建立,open已经调用了

    为2 请求已被接收,接收到头的信息了

    为3 请求处理中,接收到响应体了

    为4 请求已完成,且响应就绪,响应完成了

//readyState变化时触发

//通过onreadystatechange事件判断readyState属性的变化

request.onreadystatechange=function(){

if(request.readyState===4&&request.status===200){

//做一些事情 比如获取响应数据request.responseText

}

}

5.完整XHR

var request=new XMLHttpRequest();//1.创建XHR对象

request.open("GET","get.php?number=" +表单里需要提交的数据,true);//2.调用open方法

//这里如果是post请求。send的就是一个包含数据的对象

request.send();//发送一些数据

request.onreadystatechange=function(){ //3.进行监听判断服务器是否正确响应

if(request.readyState===4&&request.status===200){

//4.做一些事情 比如获取服务器响应内容request.responseText

}

}

以上是 Ajax基础知识详解 的全部内容, 来源链接: utcz.com/z/325024.html

回到顶部