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 相关文章推荐
jQuery实现原理的模拟代码 -6 代码下载
Aug 16 Javascript
Javascript中的this绑定介绍
Sep 22 Javascript
表单类各种类型(文本框)失去焦点效果jquery代码
Apr 26 Javascript
JavaScript类型系统之基本数据类型与包装类型
Jan 06 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
Apr 27 Javascript
详解express + mock让前后台并行开发
Jun 06 Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
Sep 21 Javascript
Vue触发式全局组件构建的方法
Nov 28 Javascript
vue实现搜索功能
May 28 Javascript
vue移动端使用canvas签名的实现
Jan 15 Javascript
js实现网页随机验证码
Oct 19 Javascript
JS指定音频audio在某个时间点进行播放
Nov 28 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
第十二节 类的自动加载 [12]
2006/10/09 PHP
PHP 变量定义和变量替换的方法
2009/07/30 PHP
php 大数据量及海量数据处理算法总结
2011/05/07 PHP
php strnatcmp()函数的用法总结
2013/11/27 PHP
由document.body和document.documentElement想到的
2009/04/13 Javascript
JS获取键盘上任意按键的值(实例代码)
2013/11/12 Javascript
JavaScript 表单处理实现代码
2015/04/13 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
2016/05/20 Javascript
jquery 正整数数字校验正则表达式
2017/01/10 Javascript
JS SetInterval 代码实现页面轮询
2017/08/11 Javascript
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
Vue基于NUXT的SSR详解
2017/10/24 Javascript
微信小程序实现蒙版弹窗效果
2018/11/01 Javascript
Vue实现移动端左右滑动效果的方法
2018/11/27 Javascript
对layui初始化列表的CheckBox属性详解
2019/09/13 Javascript
[01:56]林书豪DOTA2上海特级锦标赛励志短片
2016/03/05 DOTA
python执行子进程实现进程间通信的方法
2015/06/02 Python
Python tkinter事件高级用法实例
2018/01/31 Python
CentOS7下python3.7.0安装教程
2018/07/30 Python
python 实现数字字符串左侧补零的方法
2018/12/04 Python
获取django框架orm query执行的sql语句实现方法分析
2019/06/20 Python
python使用writerows写csv文件产生多余空行的处理方法
2019/08/01 Python
详解Python3 pickle模块用法
2019/09/16 Python
python matplotlib饼状图参数及用法解析
2019/11/04 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
2020/01/25 Python
Python和Anaconda和Pycharm安装教程图文详解
2020/02/04 Python
python实现交并比IOU教程
2020/04/16 Python
无需JS和jQuery代码实现CSS3鼠标浮动放大图片
2016/11/21 HTML / CSS
函授本科自我鉴定
2014/02/04 职场文书
后进基层党组织整改方案
2014/10/25 职场文书
调解协议书范本
2016/03/21 职场文书
2016年圣诞节活动总结范文
2016/04/01 职场文书
加薪申请书应该这样写!
2019/07/04 职场文书
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
2021/04/05 MySQL
Django开发RESTful API实现增删改查(入门级)
2021/05/10 Python
python利用pandas分析学生期末成绩实例代码
2021/07/09 Python