Ajax续

一.前端拿取后端的传递结果

Java:

    @RequestMapping("/a2")
    public List<User> a2(){
        ArrayList<User> list = new ArrayList<User>();
        list.add(new User(1,"msf","男"));
        list.add(new User(1,"ms","女"));
        list.add(new User(1,"m","男"));
        return list;
    }

 

前端拿取结果,通过Ajax:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>前端展示</title>
    <script src="${pageContext.request.contextPath}/static/js/jquery-3.6.4.js"></script><%--script 引入资源文件,必需也是双标签,但标签会报错--%>
    <script>
        $(function () {
            $("#btn").click(function () {
                $.post("${pageContext.request.contextPath}/a2",function (data) {
                    var html="";
                    for(let i=0;i<data.length;i++){
                        html+="<tr>"+
                            "<td>"+data[i].name+"</td>"+
                            "<td>"+data[i].sex+"</td>"+
                            "<td>"+data[i].age+"</td>"
                            +"</tr>"
                    }
                    $("#content").html(html);
                })
            })
        })
    </script>
</head>
<body>
<input type="button" value="获取数据" id="btn">
<table>
    <tr>
        <td>姓名</td>
        <td>性别</td>
        <td>年龄</td>
    </tr>
    <tbody id="content">
    <%--  后端来给予数据  --%>
    </tbody>
</table>
</body>
</html>

补充JavaScript:

function()检测的是下面的input标签,如果被点击了就会传感到这个函数处理,

然后依然$jQuery来协同前后端,把数据传完后端,然后携带参数回前端

jQuery.html()方法的作用是:html() 方法设置或返回被选元素的内容(innerHTML)

需要主要的点是:html语言中的标签id所传给JavaScript的id,如果需要带数据回来(data),在JavaScript中必须要带#号

例如:$("#content")

 

 

 

二.前端Ajax提示

Java代码:

    @RequestMapping("/a3")
    public String a3(String name,String pwd){
        String msg="";
        if(name!=null){
            if("msf".equals(name)){
                msg="ok";
            }else {
                msg="用户名有误";
            }
        }
        if(pwd!=null){
            if("123456".equals(pwd)){
                msg="ok";
            }else {
                msg = "密码有误";
            }
        }
        return msg;
    }

 

前端:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Ajax</title>
    <script src="${pageContext.request.contextPath}/static/js/jquery-3.6.4.js"></script><%--script 引入资源文件,必需也是双标签,但标签会报错--%>
    <script>
        function a1() {
            $.post({
                url:"${pageContext.request.contextPath}/a3",
                data:{"name":$("#name").val()},
                success:function(data){
                    if(data.toString()==='ok'){
                        $("#userInfo").css("color","green");
                    }else {
                       $("#userInfo").css("color","red");
                    }
                    $("#userInfo").html(data);
                }
            })
        }
        function a2() {
            $.post({
                url:"${pageContext.request.contextPath}/a3",
                data:{"pwd":$("#pwd").val()},
                success:function (data) {
                  if(data.toString()==='ok'){
                      $("#pwdInfo").css("color","green");
                  }else {
                      $("#pwdInfo").css("color","red");

                  }
                    $("#pwdInfo").html(data);
                }
            })
        }
    </script>
</head>
<body>
<p>
    用户名:<input type="text" id="name" onblur="a1()" required>
    <span id="userInfo"></span>
</p>
<p>
    密码:<input type="text" id="pwd" onblur="a2()" required>
    <span id="pwdInfo"></span>
</p>
</body>
</html>

 

 补充JavaScript:

JavaScript中的判断字符串判断为:===  是三个等号,不同于Java中的两个等号  ==

解析这句话:$("#pwdInfo").css("color","red");

取到id为pwdInfo中的值,然后对里面的内容进行css美化,给这里面的值为红色

 

posted @ 2023-03-13 22:33  回忆也交给时间  阅读(14)  评论(0编辑  收藏  举报