zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    洛谷P3258 [JLOI2014]松鼠的新家
    洛谷P1306 斐波那契公约数
    bzoj4247:挂饰
    [YTU]_2354 (H 实现复数类中的加运算符重载【C++运算符重载】)
    [YTU]_2440 (C++习题 复数类--重载运算符+,-,*,/)
    [YTu]_2441 (C++习题 复数类--重载运算符2+)
    [YTu]_2439(C++习题 复数类--重载运算符+)
    10.3 重载双目运算符
    10.2.1 关于vc++不支持把类的成员函数定义为类的友元函数的处理
    10.2 运算符重载函数作为类成员函数和友元函数
  • 原文地址:https://www.cnblogs.com/yufeiyu/p/6637563.html
Copyright © 2011-2022 走看看