zoukankan      html  css  js  c++  java
  • AJAX 详解注释很全来自互联网

       1:  //用户名校验的方法
       2:  //这个方法使用XMLHTTPRequest对象进行AJAX的异步数据交互
       3:  var xmlhttp;
       4:  function verify(){
       5:      //1.使用dom的方式获取文本框中的值
       6:      //document.getElementBuId("userName")是dom中获取元素节点的一种方法,一个元素节点对应HTML页面中的一个标签,如果
       7:      //.value可以获取一个元素节点的value属性值
       8:      var userName = document.getElementById("userName").value;
       9:   
      10:      //2.创建XMLHttpRequest对象
      11:      //这是XMLHttpRequest兑现使用中最为复杂的一步
      12:      //需要这对IE和其他类型浏览器建立这个对象的不方式写不同的代码
      13:      if(window.XMLHttpRequest){
      14:         //针对FireFox,Mozillar,opera,safari,IE7,IE8
      15:           xmlhttp = new XMLHttpRequest();
      16:          //针对某些特定版本的mozillar浏览器的bug修正
      17:           if(xmlhttp.overrideMimeType){
      18:                   xmlhttp.overrideMimeType("text/xml")
      19:           }
      20:      }else if(window.ActiveXObject){
      21:           //针对IE5,IE5.5,IE6(IE7,IE8)
      22:           //两个可以用于创建XMLHTTPRequest对象的控件名称,保存在一个js数组中
      23:          //排在前面的版本较新
      24:          var activexName =["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
      25:         for(var i=0;i<activexName.length;i++){
      26:             try{
      27:               //取出一个控件名进行创建,如果创建成功就终止循环
      28:               //如果创建失败,抛出异常,然后继续循环,继续尝试创建
      29:               xmlhttp = new ActiveXObject(activexName[i]);
      30:                 break;
      31:             }   catch(e){
      32:             }
      33:         }
      34:    }
      35:   
      36:     // 确认XMLHttpRequest对象创建成功
      37:  //        if(!xmlhttp){
      38:  //             alert("XMLHttpRequest对象创建失败!");
      39:  //             return;
      40:  //        }else{
      41:  //           //alert(xmlhttp);
      42:  //            alert(xmlhttp.readyState);
      43:  //        } 
      44:   
      45:      //2 注册回调函数
      46:      //注册回调函数时只需要函数名不要加括号
      47:      //我们需要注册的是函数名称,如果加上括号,就把函数的返回值给注册上了,这是错误的
      48:           xmlhttp.onreadystatechange = callback;
      49:   
      50:      //3设置连接信息
      51:      //第一个参数表示http的请求方式。支持所有http的请求方式。主要使用get和post
      52:      //第二个参数表示请求的url地址,get方式的参数也在url中
      53:      //第三个参数表示采用异步还是同步方式交互,true表示异步
      54:      //GET方式请求的代码
      55:      //xmlhttp.open("GET","AJAXServer?name="+userName,true);
      56:   
      57:      //POST方式请求的代码
      58:      xmlhttp.open("POST","AJAXServer",true);
      59:      //POST方式需要自己设置http的请求头
      60:      xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
      61:      //POST方式发送数据
      62:      xmlhttp.send("name="+userName);
      63:      
      64:      //4 发送数据,开始和服务器端进行交互
      65:      //同步方式下,send这句话会在服务器设置回来后才执行完
      66:      //异步方式,send这句话执行晚会立即完成
      67:      
      68:      //GET方式
      69:      //xmlhttp.send(null);
      70:  }
      71:   
      72:  //回调函数
      73:  function callback(){
      74:     // alert(xmlhttp.readyState);
      75:     //5接收响应数据
      76:     //判断对象的状态是交互完成
      77:      if(xmlhttp.readyState==4){
      78:      //判断http的交互是否成功、
      79:        if(xmlhttp.status==200){
      80:            //获取服务器端返回的数据
      81:            //获取服务器端输出的纯文本数据
      82:            var responseText = xmlhttp.responseText;
      83:            //将数据显示在页面上
      84:            //通过dom方式找到div标签所对应的元素节点
      85:            var divNode = document.getElementById("result");
      86:            //设置元素节点中的html内容
      87:            divNode.innerHTML=responseText;
      88:        }else
      89:   
      90:        {
      91:            alert("出错了");
      92:        }
      93:      }
      94:  }
  • 相关阅读:
    结对-贪吃蛇游戏结对编项目设计文档
    java基础语法day04
    java基础语法day03
    轻量化ViewController的几个小技巧
    __weak与__block修饰符的区别
    OC与Swift的主要区别
    copy与retain /深拷贝与浅拷贝
    如何理解MVC设计模式
    iOS常见加密方法
    关于RunLoop
  • 原文地址:https://www.cnblogs.com/micua/p/3502694.html
Copyright © 2011-2022 走看看