JAVA程序员笔记(第三阶段:WEB)第4篇——

发布时间:2022-07-02 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了JAVA程序员笔记(第三阶段:WEB)第4篇——脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<form>
    <span>用户名:</span><input type="text" name="userName" value=""/>
    <span>密码:</span><input type="password" name="pwd" value=""/>
    <input type="button" value="登录" id="btn">
</form>
<script src="/js/jquery-3.6.0.min.js"></script>
<script>


    //ajax  编写登陆
    $(function () {
        $("#btn").click(function () {
            //点击提交,发送ajax请求
            validate4();
        })
    })

    /*
    method:该参数用于指定HTTP的请求方法,一共有get、post、head、put、delete五种方法,常用的方法为get和post。

    URL:该参数用于指定HTTP请求的URL地址,可以是绝对URL,也可以是相对URL。

    flag:该参数为可选,参数值为布尔型。该参数用于指定是否使用异步方式。true表示异步、false表示同步,默认为true。

    name:该参数为可选参数,用于输入用户名。如果服务器需要验证,则必须使用该参数。

    password:该参数为可选,用于输入密码。若服务器需要验证,则必须使用该参数。
     */
    function validate1() {
        var userName = $("input[name=userName]").val();
        var pwd = $("input[name=pwd]").val();
        //原生js实现ajax
        //1、创建XMLHttpRequest对象
        xmlHttpRequest = null;

        /*
        window.XMLHttpRequest
        为了防止一些浏览器既不支持ActiveX控件,
        也不支持XMLHttpRequest组件而进行的判断.
        其中XMLHttpRequest也不是window对象的标准属性,
        但可以用来判断浏览器是否支持XMLHttpRequest组件.
        如果浏览器既不支持ActiveX控件,也不支持XMLHttpRequest组件,那么就不会对xmlHttpRequest变量赋值.
         */
        if (window.XMLHttpRequest) {
            xmlHttpRequest = new XMLHttpRequest();
        } else {
            //兼容IE
            //ActiveXOject是 IE浏览特有的属性  用于判断是否是IE浏览器
            xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
        }

        //2、连接服务端
        //GET:xmlHttpRequest.open("GET",url,true)
        xmlHttpRequest.open("GET", "/loginServlet?userName=" + userName + "&pwd=" + pwd, true);

        //3、发送请求
        // xmlHttpRequest.send();
        //post
        xmlHttpRequest.open("POST", "/loginServlet", true);
        xmlHttpRequest.setRequestHeader("Content_Type",
            "application/x-www-from-relencoded");
        xmlHttpRequest.send("userName=" + userName + "&pwd=" + pwd);

        //4、回调函数,基于响应的操作
        //如果要获得从服务器端返回的数据,就必须要先判断XMLHttpRequest对象的状态。

        // readyState === 0 : 表示未初始化完成,也就是 open 方法还没有执行
        // readyState === 1 : 表示配置信息已经完成,也就是执行完 open 之后
        // readyState === 2 : 表示 send 方法已经执行完成
        // readyState === 3 : 表示正在解析响应内容
        // readyState === 4 : 表示响应内容已经解析完毕,可以在客户端使用了

        xmlHttpRequest.onreadystatechange = function () {
            if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {
                // flag=true;
                // 获取后端反馈的结果,字符串
                var data = xmlHttpRequest.responseText;   //"true"
                if (data == "true") {
                    alert("登录成功");
                } else {
                    alert("登录失败");
                }
            }
        }
    }


    //jquery 实现ajax
    function validate2() {
        var userName = $("input[name = userName]").val();
        var pwd = $("input[name = pwd]").val();
        $.post({
            "url": "/loginServlet",
            //
            "date": "userName + " + userName + "&pwd=" + pwd,
            "dateType": "text",
            "success": function (data) {
                if (data == "ture") {
                    alert("登陆成功");
                } else {
                    alert("登录失败");
                }
            },
            "error": function () {
                alert("请求失败");
            }
        })

    }

    /*
    一般来说我们会碰到的回调嵌套都不会很多,一把也就一到两级,
    但是在某种情况下,回调嵌套很多事,代码就会非常繁琐,
    会给我们的编程带来很多的麻烦,这种情况俗称 ——回调地狱。
    回调地狱,代码难以维护,常常第一个的函数的输出就是第二个函数的输入这种现象
     */

    //嵌套 实现ajax
    function validate3() {
        var userName = $("input[name=userName]").val();
        var pwd = $("input[name=pwd]").val();
        // $.ajax("url",{}).then(data=>{}).catch(fail=>{})
        $.ajax("/loginServlet",
            {
                "method": "POST",
                "data": "userName=" + userName + "&pwd=" + pwd,
                "dataType": "text",
            }
        ).then(data => {
            if (data == "true") {
                alert("登录成功");
            } else {
                alert("登录失败");
            }
        }).catch(() => {
            alert("请求失败");
        })
    }

    function validate4() {
        var userName = $("input[name=userName]").val();
        var pwd = $("input[name=pwd]").val();
        // $.ajax("url",{}).then(data=>{}).catch(fail=>{})
        $.ajax("/loginServlet",
            {
                "method": "POST",
                "data": {"userName": userName, "pwd": pwd},
                "dataType": "json",
            }
        ).then(data => {
            if (data.flag == "true") {
                alert("登录成功");
            } else {
                alert("登录失败");
            }
        }).catch(() => {//抓取错误  送去失败弹窗
            alert("请求失败");
        })
    }

    //Json格式化  ajax
    function validate5() {

        var userName = $("input[name=userName]").val();
        var pwd = $("input[name=pwd]").val();

        // $.ajax("url",{}).then(data=>{}).catch(fail=>{})
        $.getJSON("/loginServlet", {"userName": userName, "pwd": pwd}
        ).then(data => {
            if (data.flag == "true") {
                alert("登录成功");
            } else {
                alert("登录失败");
            }
        }).catch(() => {
            alert("请求失败");
        })
    }


    //post请求最终版(登陆方法)
    function validate6() {
        //拿账号密码
        let userName = $("input[name=userName]").val();
        let password = $("input[name=pwd]").val();
        $.ajax("/loginServlet", {
            "method": "post",
            "data": {"userName": userName, "pwd": password},
            "dataType": "json",
        }).then(data => {
            if (data.flag == "true") {
                alert("登录成功");
            } else {
                alert("登录失败")
            }
        }).catch(() => {
            alert("请求失败")
        })
    }

    //get请求最终版(登陆方法)
    function validate7() {
        let userName = $("input[name=userName]").val();
        let pwd = $("input[name=pwd]").val();
        $.getJSON("/loginServlet", {"userName": userName, "pwd": pwd}
        ).then(data => {
            if (data.flag == "true") {
                alert("登录成功");
            } else {
                alert("登录失败");
            }
        }).catch(() => {
            alert("请求失败");
        })
    }


</script>
</body>
</html>

脚本宝典总结

以上是脚本宝典为你收集整理的JAVA程序员笔记(第三阶段:WEB)第4篇——全部内容,希望文章能够帮你解决JAVA程序员笔记(第三阶段:WEB)第4篇——所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: