Ajax实现异步加载数据


Posted in Javascript onNovember 17, 2021

本文实例为大家分享了Ajax实现异步加载数据的具体代码,供大家参考,具体内容如下

项目结构如下 (需要导入一个JQuery的包,配置文件web.xml和springmvc-servlet.xml,不在写了,不知道的可以看一下我其它的博客,上边都有)

Ajax实现异步加载数据

异步加载数据

首先创建一个实体类

package com.zkw.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data @AllArgsConstructor @NoArgsConstructor
public class User  {
    private String name;
    private int age;
    private String sex;
}

然后创建一个Controller

package com.zkw.controller;

import com.zkw.pojo.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

@RestController
public class AjaxController {

    @RequestMapping("/a2")
    public List<User> test2(){
        List<User> userList = new ArrayList<User>();
        userList.add(new User("七七",1,"女"));
        userList.add(new User("琪琪",1,"女"));
        userList.add(new User("琦琦",1,"女"));
        return userList;
    }
}

最后创建一个jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Ajax异步数据加载</title>
    <script src="${pageContext.request.contextPath}/static/js/jquery-3.6.0.js"></script>
    <script>
        $(function () {
            $("#btn").click(function () {
                $.post("${pageContext.reques-t.contextPath}/a2",function (data) {
                    var 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>"
                    }
                    $("#content").html(html);
                })
            })
        })
    </script>
</head>
<body>
    <input type="button" value="加载数据" id="btn">
    <table>
        <thead>
            <tr>
                <td>姓名</td>
                <td>年龄</td>
                <td>性别</td>
            </tr>
        </thead>
        <tbody id="content"></tbody>
    </table>
</body>
</html>

结果如下

Ajax实现异步加载数据

用户登录的异步验证

先创建一个Controller

package com.zkw.controller;

import com.zkw.pojo.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

@RestController
public class AjaxController {
    @RequestMapping("/a3")
    public String test3(String username,String pwd){
        String msg ="";
        if (username != null){
            if (username.equals("admin")){
                msg = "ok";
            }else{
                msg = "用户名不存在";
            }
        }

        if (pwd != null){
            if (pwd.equals("123456")){
                msg = "ok";
            }else{
                msg = "密码输入错误";
            }
        }

        return msg;
    }
}

然后创建一个jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>用户登录</title>
    <script src="${pageContext.request.contextPath}/static/js/jquery-3.6.0.js"></script>
    <script>
       function a1() {
            $.post({
                url:"${pageContext.request.contextPath}/a3",
                data:{"username":$("#username").val()},
                success(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(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="username" οnblur="a1()">
        <span id="userInfo"></span>
    </p>

    <p>
        密码名:<input type="password" id="pwd" οnblur="a2()">
        <span id="pwdInfo"></span>
    </p>

</body>
</html>

结果如下

Ajax实现异步加载数据

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
web页面数据展示新想法(json)
Jun 08 Javascript
js 事件处理函数间的Event物件是否全等
Apr 08 Javascript
各浏览器对click方法的支持差异小结
Jul 31 Javascript
了解jQuery技巧来提高你的代码(个人觉得那个jquery的手册很不错)
Feb 10 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
Aug 02 Javascript
判断是否安装flash player及当前版本的JS代码
Aug 08 Javascript
关于jquery的多个选择器的使用示例
Oct 18 Javascript
jQuery的:parent选择器定义和用法
Jul 01 Javascript
推荐10个2014年最佳的jQuery视频插件
Nov 12 Javascript
JS常用函数使用指南
Nov 23 Javascript
jQuery的Ajax接收java返回数据方法
Aug 11 jQuery
JavaScript中的一些实用小技巧总结
Apr 07 Javascript
36个正则表达式(开发效率提高80%)
Nov 17 #Javascript
Javascript 解构赋值详情
Nov 17 #Javascript
javascript Number 与 Math对象的介绍
Nov 17 #Javascript
javascript条件式访问属性和箭头函数介绍
Nov 17 #Javascript
JavaScript 对象创建的3种方法
Nov 17 #Javascript
JavaScript 中for/of,for/in 的详细介绍
Nov 17 #Javascript
JavaScript高级程序设计之基本引用类型
Nov 17 #Javascript
You might like
CodeIgniter配置之config.php用法实例分析
2016/01/19 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
PHP实现多图上传和单图上传功能
2018/05/17 PHP
PHP goto语句用法实例
2019/08/06 PHP
JS类库Bindows1.3中的内存释放方式分析
2007/03/08 Javascript
Use Word to Search for Files
2007/06/15 Javascript
js chrome浏览器判断代码
2010/03/28 Javascript
Dom 学习总结以及实例的使用介绍
2013/04/24 Javascript
js中如何复制一个对象并获取其所有属性和属性对应的值
2013/10/24 Javascript
用jquery实现动画跳到顶部和底部(这个比较简单)
2014/09/01 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
JS判断元素是否在数组内的实现代码
2016/03/30 Javascript
javascript中异常处理案例(推荐)
2016/10/03 Javascript
AngularJS使用ng-app自动加载bootstrap框架问题分析
2017/01/04 Javascript
深入理解javascript中的 “this”
2017/01/17 Javascript
原生js实现简单的Ripple按钮实例代码
2017/03/24 Javascript
详解Vue.js之视图和数据的双向绑定(v-model)
2017/06/23 Javascript
angular第三方包开发整理(小结)
2018/04/19 Javascript
mpvue项目中使用第三方UI组件库的方法
2018/09/30 Javascript
基于Django用户认证系统详解
2018/02/21 Python
Python3实现的字典、列表和json对象互转功能示例
2018/05/22 Python
详解python实现交叉验证法与留出法
2019/07/11 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
销售总监工作职责
2013/11/21 职场文书
车间组长岗位职责
2013/12/20 职场文书
大学军训感言1500字
2014/03/09 职场文书
组工干部对照检查材料
2014/08/25 职场文书
教师听课评语大全
2014/12/31 职场文书
大学生学习十八届五中全会精神心得体会
2016/01/05 职场文书
MySQL Router的安装部署
2021/04/24 MySQL
windows下快速安装nginx并配置开机自启动的方法
2021/05/11 Servers
如何利用pygame实现打飞机小游戏
2021/05/30 Python
mysql 数据插入优化方法之concurrent_insert
2021/07/01 MySQL
shell进度条追踪指令执行时间的场景分析
2022/06/16 Servers