zoukankan      html  css  js  c++  java
  • Ajax发送异步请求(四步操作)

    1.第一步(得到XMLHttpRequest)

    *ajax其实只需要学习一个对象:XMLHttpRequest,如果掌握了它,就掌握了ajax!!

    *得到XMLHttpRequest

    >大多数浏览器都支持:var xmlHttp = new XMLHttpRequest();

    >IE6.0: var xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");

    >IE5.5以及更早版本:var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 

    *编写创建XMLHttpRequest对象的函数

    function createXMLHttpRequest(){

      try{

        return new XMLHttpRequest();

      } catch(e){

        try{

          return new ActiveXObject("Msxml2.XMLHTTP);

        }catch(e){

          try{

            return new ActiveXObject("Microsoft.XMLHTTP");

          }catch(e){

            alert("请问你用的什么浏览器?");

            throw e;

          }

        }

      } 

    }

    2.第二步:(打开与服务器的连接)

    * xmlHttp.opne():用来打开与服务器的连接,它需要三个参数

      >请求方式:可以是GET 或 POST

      >请求的URL:指定服务器端资源,例如:/Ajax/AServlet

    * xmlHttp.open("GET","/Ajax/AServlet",true);

    3.第三步,(发送请求)‘

    * xmlHttp.send(null):如果不给可能会造成那部份浏览器无法发送!

    >参数:就是请求体内容!如果是GET请求,必须给出null。

    4.第四步

    *在xmlHttp对象的一个事件上注册监听器:onreadystatechange

    *XMLHttp对象一共有5个状态

      >0 : 刚创建,还没有调用open()方法

      >1 :请求开始,调用了open()方法,但还没有调用send()方法

      >2 : 调用完了send()方法了

      >3 : 服务器已经开始响应,但不表示响应结束了

      >4 :服务器响应结束!

    *得到xmlHttp对象的状态

      >var state = xmlHttp.readyState; //可能是0,1,2,3,4

    *得到服务器响应的状态码

      >var status = xmlHttp.status; //例如为 200,404,500

    *得到服务器响应内容

      >var  content = xmlHttp.responseText;//得到服务器的响应的文本格式的内容

      >var  content = xmlHttp.responseXML;//得到服务器的响应的xml响应的内容

  • 相关阅读:
    SpringCloud
    SpringCloud
    一个表的字段更新另一个表的字段
    MYSQL5.7 sql_mode=only_full_group_by
    CentOS7 防火墙操作
    log4j DailyRollingFileAppender, DatePattern 配置
    Fiddler抓包-会话框添加查看get与post请求类型选项
    Fiddler抓包-工具介绍(request和response)
    Fiddler抓包-get与post请求
    Fiddler抓包-只抓APP的请求
  • 原文地址:https://www.cnblogs.com/trister/p/4681639.html
Copyright © 2011-2022 走看看