• ajax异步请求详解


    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

  • 相关阅读:
    Bzoj 2748: [HAOI2012]音量调节 动态规划
    Bzoj 1222: [HNOI2001]产品加工 动态规划
    Bzoj 2763: [JLOI2011]飞行路线 拆点,分层图,最短路,SPFA
    Bzoj 2718: [Violet 4]毕业旅行 && Bzoj 1143: [CTSC2008]祭祀river 传递闭包,二分图匹配,匈牙利,bitset
    Bzoj 1612: [Usaco2008 Jan]Cow Contest奶牛的比赛 传递闭包,bitset
    Hdu 5036-Explosion 传递闭包,bitset,期望/概率
    Bzoj 1703: [Usaco2007 Mar]Ranking the Cows 奶牛排名 传递闭包,bitset
    Bzoj 1696: [Usaco2007 Feb]Building A New Barn新牛舍 中位数,数学
    最小公倍数(LCM)
    最大公约数(GCD)
  • 原文地址:https://www.cnblogs.com/fightjianxian/p/9069809.html
Copyright © 2020-2023  润新知