前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ajax学习小结

ajax学习小结

作者头像
黑泽君
发布2018-10-11 11:01:28
3330
发布2018-10-11 11:01:28
举报
文章被收录于专栏:黑泽君的专栏黑泽君的专栏

ajax学习小结

代码语言:javascript
复制
一、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对象
        处理响应结果
        建立一个连接
        发送请求
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-05-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档