• AJAX 2


    1.在JScript中创建一个XMLHTTP对象并从服务器请求一个XML文档

      //  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
      xmlhttp=new XMLHttpRequest();

      // IE6, IE5 浏览器执行代码
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

    例:

    function createXmlHttpRequest(){
      var xmlHttpReq;
      try{

         //Firefox, Opera ie7.0+, Safari,Chrome
        xmlHttpReq = new XMLHttpRequest();
      }catch (e){
      try{

         //Internet Explorer
         xmlHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
      }catch (e){
      try{
         xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
      }catch (e){}
      }
      }
      return xmlHttpReq;
    }

    readystate

    open

    • method:请求的类型;GET 或 POST
    • url:文件在服务器上的位置
    • async:true(异步)或 false(同步)

    setRequestHeader

      setRequestHeader(header,value)

      向请求添加 HTTP 头。

    • header: 规定头的名称
    • value: 规定头的值

    send

      将请求发送到服务器。

    • string:仅用于 POST 请求

    onreadystatechange

      指定当readyState属性改变时的事件处理句柄

     status

    返回当前请求的http状态码

     

    responseText

     变量,此属性只读,将响应信息作为字符串返回

    responseXML

     变量,此属性只读,将响应信息格式化为Xml Document对象并返回。

     1     <script type="text/javascript">
     2         window.onload=function(){
     3             document.getElementById("b1").onclick=function(){
     4                 //Ajax 代码
     5                 var xhr = createXmlHttpRequest();
     6                 /**请求的状态码
     7                 0 (未初始化) 对象已建立,但是尚未初始化(尚未调用open方法) 
     8                 1 (初始化) 对象已建立,尚未调用send方法 
     9                 2 (发送数据) send方法已调用,但是当前的状态及http头未知 
    10                 3 (数据传送中) 已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误, 
    11                 4 (完成) 数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据 
    12                 */
    13                 alert(xhr.readyState);//返回当前请求的状态,只读.
    14                 //创建一个新的http请求,并指定此请求的方法、URL以及验证信息(用户名/密码)
    15                 xhr.open("POST","/Ajax/ServletDemo02?time="+new Date().getTime());
    16                 //告知服务器,发送正文数据的类型
    17                 xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//enctype
    18                 //发送请求到http服务器并接收回应
    19                 xhr.send("username=liuyang&&password=orcl");            
    20                 //指定当readyState属性改变时的事件处理句柄。只写
    21                 xhr.onreadystatechange=function(){
    22                     if(xhr.readyState==4){
    23                         alert(xhr.status);
    24                         if(xhr.status==200){
    25                             //服务器端返回信息
    26                             var data = xhr.responseText;
    27                             document.getElementById("d1").innerHTML = data;
    28                             alert(data);
    29                         }    
    30                     }
    31                 }
    32                 
    33             }
    34         }
    35         function createXmlHttpRequest(){
    36             var xmlHttpReq;
    37             try{    //Firefox, Opera 8.0+, Safari
    38                 xmlHttpReq = new XMLHttpRequest();
    39             }catch (e){
    40                 try{    //Internet Explorer
    41                     xmlHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
    42                 }catch (e){
    43                     try{
    44                         xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    45                     }catch (e){}  
    46                 }
    47             }
    48             return xmlHttpReq;
    49         }
    50     
    51     </script>

     

  • 相关阅读:
    005 Stream的创建
    006 虚拟主机
    002 nginx的进程模型
    001 胡说八道
    001 nginx的简介和安装
    004 docker配置国内镜像站
    012 SSH
    发放失败,此请求可能存在风险,已被微信拦截【未解决】
    项目使用Nuget,然后SVN checkout后显示缺少引用
    使用存储过程非常慢,但是直接执行SQL很快
  • 原文地址:https://www.cnblogs.com/liuyangv/p/8313039.html
Copyright © 2020-2023  润新知