欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Ajax基础知识详解

程序员文章站 2023-11-09 23:27:40
ajax主要的功能是实现了浏览器端 异步 访问服务器:通过浏览器的xmlhttprequest对象发出小部分数据,与服务端进行交互,服务端返回小部分数据,然后更新客户端的部...

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
 }
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!