zoukankan      html  css  js  c++  java
  • AJAX

    异步的JavaScript和xlm技术

    提交请求只局部刷新——局部刷新技术

    AJAX和核心技术

    1)JavaScript技术

      作用:a 发送请求

         b dom编程更新页面

    2)服务器不再响应整个页面,而响应数据

      数据格式分3种:字符串    XML  JSON

      json 格式 :[{name:"张三",age:30 }]

    3)xmlHttpRequest 对象   浏览器提供的

      作用:发送请求

    AJAX原理

    1)在JS函数中 创建xmlhttprequest对象

    2)使用对象发送请求(请求servlet,并传递数据),同时告知服务器回调函数是哪个

    3)回调函数:接收服务器响应的数据,更新页面

    //创建XmlHttpRequest
    function createXmlHttpRequest(){
        var xhr;
        try {
            xhr = new XMLHttpRequest();
        } catch (e) {
            try {
                //IE6以下的
                xhr = new ActiveXObject("MSXML2.XMLHTTP");
            } catch (e) {
                //IE6及以上的
                xhr = new ActiveXObject("Microsoft.XMLHTTP");
            }
        }
        return xhr;
    }
    
    <script type="text/javascript">
        function send() {
            var xhr = createXmlHttpRequest();        
            //构建请求地址
            var val = document.getElementsByName("empno")[0].value;
            var url = "checkEmp?empno="+val;
            //设置请求初始化
            xhr.open("get",url,true);
            //发送请求
            xhr.send();
            
            //匿名函数,回调函数,获得响应
            xhr.onreadystatechange = function(){
                //回调函数,接受响应数据,局部刷新。dom编程刷新
                //此步代表响应完毕,网络状态正常
                if(xhr.readyState == 4 && xhr.status == 200){
                    //获得响应的数据
                    var res = xhr.responseText;
                    //获得要输出的区域
                    var s = document.getElementById("sno");
                    if(res == "y"){
                        s.innerText = "编号可用";
                        s.style.color = "green";
                        return true;
                    }else{
                        s.innerText = "编号已存在";
                        //alert("编号存在");
                        s.style.color = "red";
                        return false;
                    }
                }
            }
        }
    
    </script>

     POST提交数据

    function addEmp(){
            var xhr = createXmlHttpRequest();
            var url = "addEMP";
            //构建要提交的数据
            var empno = document.getElementsByName("empno")[0].value;
            var ename = document.getElementsByName("ename")[0].value;
            var job = document.getElementsByName("job")[0].value;
            var mgr = document.getElementsByName("mgr")[0].value;
            var sal = document.getElementsByName("sal")[0].value;
            var deptno = document.getElementById("sel").value;
            //构建提交数据
            var data = "empno="+empno+"&ename="+ename+"&job="+job+"&mgr="+mgr+"&sal="+sal+"&deptno="+deptno;
            xhr.open('post',url,true);
        //必须在发送前设置 xhr.setRequestHeader(
    "Content-Type","application/x-www-form-urlencoded"); xhr.send(data); xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ var res = xhr.responseText; if(res > 0){ alert("添加成功"); }else{ alert("添加失败"); } } } }
  • 相关阅读:
    Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTCTime)、文件时间(FileTime)之间的转换
    VS2008驱动开发环境配置
    delete和delete[]的区别
    手动加载NT式驱动(非工具)修改注册表实现
    结构体的内存空间分配原理
    NT式驱动的卸载
    NT式驱动的安装
    struct tm>time() localtime() gmtime()
    64位驱动数字签名
    SQL Server 数据库错误修改
  • 原文地址:https://www.cnblogs.com/miaomeng/p/9073043.html
Copyright © 2011-2022 走看看