ajax 异步请求四个步骤

   

ajax异步请求详解

ajxa定义:异步的JavaScript和xml

1、XMLHttpRequst的出现才有了异步处理

2、创建XmlHttpRequest对象

var request=new XMLHttpRequest();

注意:如果要兼容IE6以下浏览器则需要编写如下代码

        var request;

         if(window.XMLRequest){

               request=new XMLRequestHttpRequest();  //IE7、IE8、360等

          }else{

               request=new ActiveXObject("Microsoft.XMLHTTP");//IE5、IE6

           }

3、XMLHttpRequest发送请求

(1)open(method,url,async),参数的意义如下

method:GET或者POST请求方法

url:相对地址或者绝对地址

async:true或者false,默认是true,表示异步

(2)send(String)

GET请求无参数,POST请求时一定要有参数

举例A:

request。open("GET",'getDate',true);

request.send();

举例B:

request.open("POST","getDate",true)

//默认是"application/x-www-from"-urlencoden"方式提交,如果是提交文件,则需要修改成为multipart/form-data方式提交

request.setRequestHeader("Content-type","application/x-www-from"-urlencoden");

request.send("name=王二&age=25");

4、XMLHttpRequest取得响应

(1)responseText:获得字符串形式的响应数据

(2)responseXML:获得xml形式的响应数据

(3)status和statusText:以数字和文本形式返回Http转态码

(4)getAllResponseHeader():获得所以得响应报头

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

(6)readState属性

"0"请求未初始化,open还未调用

"1":服务器连接已经建立,open已调用

"2":请求已接收,也就是接收到头信息了

"3":请求处理中,也就是接收到响应主体了

"4":请求已经完成,且响应就绪,响应完成了

举例:

       var  request;

      request.open("GET","getDate",true);

      request.send();

      //监听返回的转态,200和4代表响应成功

      request.onreadystatechange=fuction(){

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

               //需要处理的事务

         }

      }

6、HTTP请求:是一种规则,无状态,无记忆

  HTTP请求过程

(1)建立TCP连接

(2)web浏览器向web服务器发送请求指令

(3)web浏览器发送请求头信息

(4)web服务器应答

(5)web服务器发送应答头信息

(6)web服务器向浏览器发送数据

(7)web服务器关闭TCP连接

A、HTTP请求的4个·组成部分

    a、HTTP请求方法或者动作(GET/POST)

     b、正在请求的URL

     c、请求头,包含客户环境信息、身份信息等

     d、请求体(正文),包含客户提交的查询字符串信息、表单信息

B、POST和GET方法

     GET:(1)用于信息获取

               (2)使用URL传递参数

                (3)String<=2000个字符左右

     POST:(1)用于修改服务器上的资源

                 (2)String<=无穷大

C、一个HTTP响应由三个部分组成

       a、一个数字和文字组成的转态码。作用:显示请求是否成功

       b、响应头,包含服务器类型、日期、内容类型、长度等

       c、响应体,即响应正文,字符串、HTML等

D、HTTP状态码由3个数字构成,其中首位数字定义了状态码的类型

    1^^:信息类,表示收到web请求,正在进行处理中

    2^^:成功,表示用户请求被正确接收、理解和处理,如200

    3^^:重定向,表示请求未成功,客户必须采取动作

    4^^:客户端错误,客户提交的信息有误,如400

    found:意味着请求中所引用的文档不存在

    5^^:服务器错误(最难处理的问题),表示服务器不能完成请求处理,如500

原文地址:https://www.cnblogs.com/yufeiyu/p/6637563.html