zoukankan      html  css  js  c++  java
  • ajax学习小结

    ajax学习小结

    一、Ajax
        Asynchronous JavaScript And XML = 异步的 JavaScript 及 XML。
        
        目的:使得整个页面不刷新也能出现效果。没有后退按钮。
    
    二、XMLHttprequest(由浏览器内核创建)
        方法:
            open("get/post", "URL");
            send();
        
        属性:
            readyState         客户端请求就绪状态码
            status            服务器响应状态码
            responseText    响应的文本内容
            responseXML        响应的XML文档对象(一般不用)
            
        事件处理器:
            onreadystatechange
        
        示例代码:
        <script type="text/javascript">
            // 方式1
            function ckName() {
                // 获取用户名对象
                var name = document.getElementsByTagName("input")[0];
                // 创建XMLHttpRequest对象
                var xhr = getXMLHttpRequest();
                // 处理响应结果,创建回调函数,根据响应状态动态更新页面
                xhr.onreadystatechange = function() {
                    if (xhr.readyState == 4) { // 说明客户端请求一切正常
                        if (xhr.status == 200) { // 说明服务器响应一切正常
                            // alert(xhr.responseText); // 得到响应结果
                            var msg = document.getElementById("msg");
                            if (xhr.responseText == "true") {
                                // msg.innerText = "用户名已存在";
                                msg.innerHTML = "<font color='red'>该用户名已存在</font>";
                            } else {
                                msg.innerHTML = "<font color='green'>该用户名可以使用</font>";
                            }
                        }
                    }
                }            
                // 建立一个连接
                xhr.open("get", "${pageContext.request.contextPath }/servlet/ckNameServlet?name=" + name.value);
                // 发送请求
                xhr.send(null);
            }
            
            // 方式2
            window.onload = function() {
                var nameElement = document.getElementsByName("userName")[0];
                nameElement.onblur = function() {
                    var name = this.value; // this等价于nameElement
                    
                    // 创建XMLHttpRequest对象
                    var xhr = getXMLHttpRequest();
                    // 处理响应结果,创建回调函数,根据响应状态动态更新页面
                    xhr.onreadystatechange = function() {
                        if (xhr.readyState == 4) { // 说明客户端请求一切正常
                            if (xhr.status == 200) { // 说明服务器响应一切正常
                                // alert(xhr.responseText); // 得到响应结果
                                var msg = document.getElementById("msg");
                                if (xhr.responseText == "true") {
                                    // msg.innerText = "该用户名已存在";
                                    msg.innerHTML = "<font color='red'>该用户名已存在</font>";
                                } else {
                                    msg.innerHTML = "<font color='green'>该用户名可以使用</font>";
                                }
                            }
                        }
                    }            
                    // 建立一个连接
                    xhr.open("get", "${pageContext.request.contextPath }/servlet/ckNameServlet?name=" + name + "&time=" + new Date().getTime());
                    // 发送请求
                    xhr.send(null);
                }
            }
        </script>
            
    三、使用Ajax
        1. 确定使用什么事件调用什么方法
        2. 步骤:
            获取XMLHttpRequest对象
            处理响应结果
            建立一个连接
            发送请求
  • 相关阅读:
    如何关闭和打开oracle 10g自动收集统计信息功能
    ORA00600:internal error code,arguments
    ORA01033: ORACLE initialization or shutdown in progress
    ORA01652:unable to extend temp segment by num in tablespace name
    ORA01578:Oracle data block corrupted
    ORA03113:endoffile on communication channel
    ORA01650:unable to extend rollback segment NAME by NUM intablespace NAME
    ORA01628:max # of extents num reached for rollback segment num
    C# 项目中的 bin 目录和 obj 目录的区别,以及 Debug 版本和 Release 版本的区别
    管理 Hadoop 集群的5大工具
  • 原文地址:https://www.cnblogs.com/chenmingjun/p/9117297.html
Copyright © 2011-2022 走看看