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 相关文章推荐
JavaScript 提升运行速度之循环篇 译文
Aug 15 Javascript
跟我学Node.js(四)---Node.js的模块载入方式与机制
Jun 04 Javascript
js不能获取隐藏的div的宽度只能先显示后获取
Sep 04 Javascript
详解AngularJS中的表单验证(推荐)
Nov 17 Javascript
Vue.js中数据绑定的语法教程
Jun 02 Javascript
基于AngularJS的简单使用详解
Sep 10 Javascript
基于vue1和vue2获取dom元素的方法
Mar 17 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
Apr 23 Javascript
微信小程序动态生成二维码的实现代码
Jul 25 Javascript
Next.js项目实战踩坑指南(笔记)
Nov 29 Javascript
vue使用codemirror的两种用法
Aug 27 Javascript
Element-UI+Vue模式使用总结
Jan 02 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
使用php判断浏览器的类型和语言的函数代码
2013/02/28 PHP
wordpress网站转移到本地运行测试的方法
2017/03/15 PHP
javascript 浏览器检测代码精简版
2010/03/04 Javascript
Date对象格式化函数代码
2010/07/17 Javascript
js实现浏览器的各种菜单命令比如打印、查看源文件等等
2013/10/24 Javascript
解决jquery插件冲突的问题
2014/01/23 Javascript
node.js 开发指南 ? Node.js 连接 MySQL 并进行数据库操作
2014/07/29 Javascript
第一次动手实现bootstrap table分页效果
2016/09/22 Javascript
jQuery ajaxForm()的应用
2016/10/14 Javascript
详解Javascript函数声明与递归调用
2016/10/22 Javascript
angularjs定时任务的设置与清除示例
2017/06/02 Javascript
Vue编写多地区选择组件
2017/08/21 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
2017/08/24 jQuery
JS实现指定区域的全屏显示功能示例
2019/04/25 Javascript
js实现窗口全屏示例详解
2019/09/17 Javascript
vue实现瀑布流组件滑动加载更多
2020/03/10 Javascript
原生JavaScript实现换肤
2021/02/19 Javascript
Python工程师面试必备25条知识点
2018/01/17 Python
python re模块findall()函数实例解析
2018/01/19 Python
python正则表达式之对号入座篇
2018/07/24 Python
Python 读写文件的操作代码
2018/09/20 Python
Python版名片管理系统
2018/11/30 Python
python set集合使用方法解析
2019/11/05 Python
使用python快速实现不同机器间文件夹共享方式
2019/12/22 Python
python输出数学符号实例
2020/05/11 Python
python爬虫要用到的库总结
2020/07/28 Python
浅析Python 字符编码与文件处理
2020/09/24 Python
Ootori在线按摩椅店:一家专业的按摩椅制造商
2019/04/10 全球购物
美国台面电器和厨具品牌:KitchenAid
2019/04/12 全球购物
体育纪念品、亲笔签名的体育收藏品:Steiner Sports
2020/07/31 全球购物
面向对象概念面试题(.NET)
2016/11/04 面试题
成立公司计划书
2014/05/07 职场文书
大学竞选班干部演讲稿
2014/08/21 职场文书
免职通知
2015/04/23 职场文书
导游词之河姆渡遗址博物馆
2019/10/10 职场文书
python读取mnist数据集方法案例详解
2021/09/04 Python