Ajax 学习总结

简介: 这是一个关于Ajax学习的总结,包括导入Ajax包、异步请求和表单验证。示例展示了如何使用jQuery进行Ajax请求,从后台获取并显示数据,同时提到了Json乱码问题的解决方法和表单数据的前后端交互。还给出了表单验证的简单示例,通过Ajax实时校验用户名。

@[toc]

Ajax 学习总结

一、Ajax包的导入

Ajax包的下载

二、Ajax的异步请求

image.png

在使用时要引用

 <script src="${pageContext.request.contextPath}/statics/js/jquery-3.4.1.js"></script>

后台添加的数据

  @RequestMapping("/a2")
    public List<User> a2(){
   
   
        List<User> listuser=new ArrayList<User>();

        //添加数据
        listuser.add(new User("小明1",12,"男"));
        listuser.add(new User("小明2",13,"男"));
        listuser.add(new User("小明3",14,"男"));
        listuser.add(new User("小明4",18,"男"));
        return listuser;
    }

前端拿到数据

 <script>
        $(function () {
   
   
            $("#btn").click(function () {
   
   
               $.post({
   
   
                   url:"${pageContext.request.contextPath}/a2",
                   success:function (data) {
   
   
                       //console.log(data);
                       let html="";
                       for (let i=0;i<data.length;i++){
   
   
                           html +="<tr>"+
                                   "<td>"+data[i].name+"</td>"+
                                   "<td>"+data[i].age+"</td>"+
                                   "<td>"+data[i].sex+"</td>"+
                                   "</tr>"
                       }
                       $("#context").html(html)
                   }
               })
            })

        })
    </script>

注意点:

url:为前端请求后端数据接口
data:前端传入到后端的值,可以省略
succcess:数据请求成功后从后端拿到数据
数据的拼接:html +="<tr>"+
     "<td>"+data[i].name+"</td>"+
     "<td>"+data[i].age+"</td>"+
     "<td>"+data[i].sex+"</td>"+
 "</tr>"

image.png

三、Ajax 表单验证

image.png

Json乱码问题解决

 <!--Json乱码问题解决-->
    <mvc:annotation-driven>
        <mvc:message-converters register-defaults="true">
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <constructor-arg value="UTF-8"/>
            </bean>
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="objectMapper">
                    <bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
                        <property name="failOnEmptyBeans" value="false"/>
                    </bean>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

表单获取后端的数据

 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);
               }
           })
        }

表单校验


<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <script src="${pageContext.request.contextPath}/statics/js/jquery-3.4.1.js"></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()">
        <span id="userInfo"></span>
        <%--onblur失去焦点事件--%>
    </p>
    <p>
        密码:<input type="text" id="pwd" onblur="a2()">
        <span id="pwdInfo"></span>
        <%--onblur失去焦点事件--%>
    </p>
</body>
</html>

好了,今天的分享就到这里了哦

目录
相关文章
|
7月前
|
设计模式 前端开发 JavaScript
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)
67 0
|
JSON 前端开发 JavaScript
JavaScript学习 -- ajax方法的POST请求
JavaScript学习 -- ajax方法的POST请求
69 0
|
JSON 前端开发 JavaScript
前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)
前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)
594 0
|
7月前
|
XML JSON 前端开发
Ajax技术【Ajax技术详解、 Ajax 的使用、Ajax请求、 JSON详解、JACKSON 的使用 】(一)-全面详解(学习总结---从入门到深化)
Ajax技术【Ajax技术详解、 Ajax 的使用、Ajax请求、 JSON详解、JACKSON 的使用 】(一)-全面详解(学习总结---从入门到深化)
214 1
|
2月前
|
JSON JavaScript 前端开发
《进阶篇第7章》学习vue中的ajax之后,练习vue案例-github用户搜索案例
《进阶篇第7章》学习vue中的ajax之后,练习vue案例-github用户搜索案例
18 0
|
7月前
|
XML JSON 前端开发
学习Ajax使用异步对象发送请求
Ajax,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种用于创建更好、更快以及交互性更强的Web应用程序的技术。
72 3
|
7月前
|
XML 开发框架 前端开发
Ajax学习(基础知识)
Ajax学习(基础知识)
|
7月前
|
设计模式 缓存 前端开发
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)(下)
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)
52 1
|
7月前
|
前端开发 JavaScript fastjson
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)(上)
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)
87 1
|
7月前
|
JSON 前端开发 JavaScript
JavaScript学习 -- ajax方法的POST请求
JavaScript学习 -- ajax方法的POST请求
72 0