zoukankan      html  css  js  c++  java
  • javascript 中XMLHttpRequest 实现前台向后台的交互

    使用XMLHttpRequest对象分为4部完成:

    1.创建XMLHttpRequest组建

    2.设置回调函数

    3.初始化XMLHttpRequest组建

    4.发送请求

    第一种:

    var userName; 
        var passWord;  
        var xmlHttpRequest;  
          
          
        //XmlHttpRequest对象  
        function createXmlHttpRequest(){  
            if(window.ActiveXObject){ //如果是IE浏览器  
                return new ActiveXObject("Microsoft.XMLHTTP");  
            }else if(window.XMLHttpRequest){ //非IE浏览器  
                return new XMLHttpRequest();  
            }  
        }  
          
        function onLogin(){  
            userName = document.f1.username.value;  
            passWord = document.f1.password.value;    
              
            var url = "LoginServlet?username="+userName+"&password="+passWord+"";     
                  
            //1.创建XMLHttpRequest组建  
            xmlHttpRequest = createXmlHttpRequest();  
              
            //2.设置回调函数  
            xmlHttpRequest.onreadystatechange = zswFun;  
              
            //3.初始化XMLHttpRequest组建  
            xmlHttpRequest.open("POST",url,true);  
              
            //4.发送请求  
            xmlHttpRequest.send(null);    
        }     
          
          
        //回调函数  
        function zswFun(){  
            if(xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200){  
                var b = xmlHttpRequest.responseText;  
                if(b == "true"){  
                    alert("登录成功!");  
                }else{  
                    alert("登录失败!");  
                }         
            }  
        }

    第二种:

    var xmlhttp;
    function verify1() {
        var username = document.getElementById("username").value;
        //确定浏览器
        if(window.XMLHttpRequest) {
            //针对FireFox、Mozillar、Opera、Safari、IE7、IE8
            //创建XMLHttpRequest对象
            xmlhttp = new XMLHttpRequest();
            //修正某些浏览器的BUG
            if(xmlhttp.overrideMimeType) {
                xmlhttp.overrideMimeType("text/html");
            }
        }else if(window.ActiveXObject){
            //针对IE5、IE5.5、IE6
            //这两个为插件名称作为参数传递,为了创建ActiveXObject
            var activeName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
            for(var i=0;i>activeName.length();i++) {
                  try{
                      //非别取出,如果创建成功则终止循环,如果失败则会抛出异常继续循环
                      xmlhttp = new ActiveXObject(activeName[i]);
                      break;
                  }catch(e){
                  }
            }
        }
        //确定XMLHttpRequest是否创建成功
        /*if(!xmlhttp) {
            alert("XMLHttpRequest创建失败!");
            return;
        }else {
            alert("XMLHttpRequest创建成功!"+xmlhttp);
        }*/
        //注册回调函数
        xmlhttp.onreadystatechange=callback;
        url = "classisservlet?name="+username;
        //设置连接信息
        //1.是http请求的方式
        //2.是服务器的地址
        //3.是采用同步还是异步,true为异步
        //xmlhttp.open("GET",url,true);
        //post请求与get请求的区别
        //第一个参数设置成post第二个只写url地址,第三个不变
        xmlhttp.open("POST","classisservlet",true);
        //post请求要自己设置请求头
       xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        //发送数据,开始与服务器进行交互
        //post发送请求
        xmlhttp.send("name="+username);
    }
    function callback() {
        //接收响应数据
        //判断对象状态是否交互完成,如果为4则交互完成
        if(xmlhttp.readyState == 4) {
             //判断对象状态是否交互成功,如果成功则为200
            if(xmlhttp.status == 200) {
                //接收数据,得到服务器输出的纯文本数据
                var response = xmlhttp.responseText;
                //得到div的节点将数据显示在div上
                var divresult = document.getElementById("result");
                divresult.innerHTML = response;
            }
        }
    }

    其实生活很美好,只是你想的太多了。没有,不会,有差距很正常,因为我不会

  • 相关阅读:
    vue+webpack搭建项目基础架构
    vue入门学习篇——父子组件通信
    vue入门学习篇——数据双向绑定原理及简单实现
    vue入门学习篇——挂载点、实例、模版之间的关系
    毫秒转成天、小时、分钟、秒
    可执行jar包的MANIFEST.MF
    fsck系统修复
    HDFS, YARN, HBase, Hive, ZooKeeper端口说明
    解压 tar zxvf 文件名.tar.gz 压缩 tar zcvf 文件名.tar.gz 目标名
    Linux学习笔记之RedHat Enterprise Linux 6.4 使用 Centos 6 的yum源问题
  • 原文地址:https://www.cnblogs.com/skyblue123/p/12593585.html
Copyright © 2011-2022 走看看