AJAX.

概念:AJAX:异步的 JavaScript 和 XML

AJAX作用:

1.与服务器进行数据交换: 通过AJAX可以给服务器发送请求,并获取服务器响应的是数据

使用了AJAX和服务器进行通讯,就可以使用HTML和AJAX来替换JSP页面了

2.异步交互:可以在不重新加载整个页面的情况下,与服务器交换数据并更新网页的技术,如:搜索联想、用户名是否可用校验,等等...

AJAX快速入门:

1.编写AjaxServlet,并使用response输出字符串

2.创建XML HttpRequest 对象: 用于和服务器交换数据

3.向服务器发送请求

4.获取服务器响应数据

复制代码
<script>
    // 1.创建核心对象
    var xhttp ;
    if (window.XMLHttpRequest){
        xhttp=new XMLHttpRequest();
    }else {
        xhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    // 2.发送请求
    xhttp.open("GET", "http://localhost:8080/brand-demo/ajaxServlet");
    xhttp.send();

    // 3.获取相应
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
           alert(this.responseText);
        }
    };

</script>

案例:使用AJAX验证用户名是否存在

需求:在完成用户注册时,当用户名输入框失去焦点时,校验用户名是否在数据库中已存在

复制代码
<script>


    // 1.给用户输入框绑定,失去焦点事件
    document.getElementById("username").onblur=function (){

        // 2.发送AJAX请求
        // 获取用户名的值
        var username= this.value();



        // 2.1创建核心对象
        var xhttp ;
        if (window.XMLHttpRequest){
            xhttp=new XMLHttpRequest();
        }else {
            xhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }

        // 2.2 发送请求
        xhttp.open("GET", "http://localhost:8080/brand-demo/selectUserServlet?username="+username);
        xhttp.send();

        // 2.3获取相应
        xhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
               // alert(this.responseText);
                // 判断
                if (this.responsesSent=="true"){
                    // 用户名存在,显示提示信息
                    document.getElementById("username_err").style.display='';
                }else {
                    // 用户名不存在,清楚提示信息
                    document.getElementById("username_err").style.display='none';
                }
            }
        };
    }
</script>
相关推荐
晚烛17 小时前
实战前瞻:构建高可靠、强协同的 Flutter + OpenHarmony 智慧教育平台
javascript·flutter·html
快乐肚皮17 小时前
一文了解XSS攻击:分类、原理与全方位防御方案
java·前端·xss
保护我方头发丶17 小时前
ESP-wifi-蓝牙
前端·javascript·数据库
想学后端的前端工程师18 小时前
【Flutter跨平台开发实战指南:从零到上线-web技术栈】
前端·flutter
老王Bingo18 小时前
Qwen Code + Chrome DevTools MCP,让爬虫、数据采集、自动化测试效率提升 100 倍
前端·爬虫·chrome devtools
董世昌4118 小时前
什么是扩展运算符?有什么使用场景?
开发语言·前端·javascript
Yaru1118 小时前
Vue 3.6 预览版特性
javascript·vue.js
来杯三花豆奶19 小时前
Vue 3.0 Mixins 详解:从基础到迁移的全面指南
前端·javascript·vue.js
想学后端的前端工程师19 小时前
【React性能优化实战指南:从入门到精通-web技术栈】
前端·react.js·性能优化
白兰地空瓶19 小时前
React Hooks 深度理解:useState / useEffect 如何管理副作用与内存
前端·react.js