layui中table展示后端数据

layui中table展示后端数据

1.下载layui的资源文件

layui官网,下载解压后就是下面图里的文件

把layui整个文件夹引入项目

2.在项目里引入下载好的文件

3.启动项目,在主页发送一个ajax请求

<script>
    var xhr = new XMLHttpRequest();
    xhr.open("get","findAll");
    xhr.onreadystatechange = function () {
        if (xhr.readyState == 4 && xhr.status == 200) {
            console.log(xhr.responseText);
        }
    };
    xhr.send();
</script>

浏览器按F12查看请求

好,请求有发出去了,404先别管,主要是这个请求成功发出去了

4.接下来写后台的代码

数据库

DAO

(我这里用了MyBatis,如果用原生的JDBC则自己写流程)

@Repository
public interface BookDao {

    @Select("select * from book")
    List<Book> findAll();

}

Service

@Service
public class BookService {

    @Autowired
    private BookDao bookDao;

    @Override
    public List<Book> findAll() {
        return bookDao.findAll();
    }

}

去layui官网里把table的代码看看

1.首先要在页面引入layui的css及js

2.URL是数据的接口,并且layui只认json的数据格式,所以controller返回的数据就要是json格式

3.cols里的field是要跟数据库查出来的列对应,只要后端返回的数据符合layui.table的格式,layui就会自动展示

所以我最终的页面是这样的

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>table模块快速使用</title>
    <link rel="stylesheet" href="layui/css/layui.css" media="all">

    <script>
        var xhr = new XMLHttpRequest();
        xhr.open("get","findAll");
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4 && xhr.status == 200) {
                console.log(xhr.responseText);
            }
        };
        xhr.send();
    </script>
</head>
<body>

<script src="layui/layui.js"></script>

<table id="demo" lay-filter="test"></table>

<script>
    layui.use('table', function(){
        var table = layui.table;

        //第一个实例
        table.render({
            elem: '#demo'
            ,url: '/findAll'
            ,cols: [[ //表头
                {field: 'id', title: 'ID', width:80,sort: true}
                ,{field: 'name', title: '书名', width:160}
                ,{field: 'price', title: '价格', width:80,sort: true}
            ]]
        });

    });
</script>

</body>
</html>

接下来编写controller层的代码

Controller

@Controller
@RequestMapping()
public class BookController {

    @Autowired
    private BookService bookService;

    @RequestMapping(value="findAll",produces="text/html;charset=utf-8")
    public @ResponseBody String findAll(){
        List<Book> bookList = bookService.findAll();
        String jsonString = JSON.toJSONString(bookList);
        //下面这里这个格式是在网上找的
        String books="{\"code\":\"0\",\"msg\":\"ok\",\"count\":100,\"data\":"+jsonString+"}";
        System.out.println("-----"+books);
        return books;
    }
}

这样我们就把json格式的数据返回去前端了

启动项目,浏览器进入主页

成功展示了。

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: layui是一款基于jQuery的前端UI框架,它不仅提供了丰富的UI组件,还提供了一些方便的工具函数和方法,其就包括ajax请求后端数据的方法。 在使用layui实现ajax请求获取后端数据展示在前端的过程,我们需要遵循以下步骤: 1. 引入layui的相关资源文件: 在HTML页面引入layui的资源文件,包括layui.js和相关的CSS文件,确保可以正确使用layui的功能。 2. 使用layui的ajax方法发送请求: 通过layui的ajax方法发送GET或POST请求,向后端发送数据请求。可以指定请求的URL、请求的类型、请求数据等参数。例如: layui.$.ajax({ url: '后端接口地址', type: 'GET', // 或 'POST' data: { 参数名1: 参数值1, 参数名2: 参数值2 }, success: function(res){ // 请求成功的回调函数 // res为后端返回的数据 }, error: function(){ // 请求失败的回调函数 } }); 3. 处理后端返回的数据: 在请求成功的回调函数,可以对后端返回的数据进行处理。可以使用layui的组件或自定义的方法将数据展示在前端页面上。例如: layui.use(['table'], function(){ var table = layui.table; // 渲染表格组件,并将后端返回的数据填充到表格 table.render({ elem: '#tableId', // 表格元素的ID data: res.data, // 后端返回的数据 cols: [[ {field: '字段名1', title: '标题1'}, {field: '字段名2', title: '标题2'}, // ... ]] }); }); 通过上述步骤,我们可以使用layui的ajax方法从后端获取数据,并将数据展示在前端页面上。当然,在实际应用,我们需要根据具体需求,对请求展示的逻辑进行进一步的处理。 ### 回答2: 在前端使用Layui和Ajax来获取后端数据展示,可以按照以下步骤操作: 1. 首先,在HTML页面引入Layui的相关样式表和脚本文件,确保页面正常加载Layui的效果。 2. 在HTML页面创建一个容器,用于展示后端数据。可以使用Layui的表格组件或其他适合的组件,具体根据后端返回的数据类型和显示需求来确定。 3. 使用Ajax向后端发送请求,获取数据。可以使用Layui的Ajax方法`$.ajax()`来发送GET或POST请求,其包括请求的URL、请求数据等参数。 4. 在Ajax的回调函数,处理后端返回的数据展示在页面。根据后端返回的数据类型,可以使用Layui的表格组件的方法(如`table.render()`)来渲染表格,并将数据填充到表格,或者直接使用页面操作DOM的方式来展示数据。 5. 根据需求,可以对数据进行排序、筛选、分页等操作,Layui提供了相应的组件和方法,可以根据实际情况进行调整。 6. 最后,根据需要可以添加其他交互效果,如点击事件、弹窗等,以提升用户体验。 需要注意的是,获取后端数据展示在前端是一个异步的过程,所以在Ajax请求的过程,页面上可能需要显示一些加载的提示,以避免用户的不良体验。 以上就是使用Layui和Ajax来获取后端数据展示在前端的基本步骤。具体的操作根据实际情况会有所不同,可能需要根据项目需求进行一些定制化的开发。 ### 回答3: 要在前端展示后端数据,可以借助layui框架的ajax功能。 首先,在前端页面引入layui库,并定义一个div容器,用于展示后端数据。 然后,使用layui的ajax方法发送请求,获取后端数据。ajax方法需要配置接口地址、请求类型和回调函数等参数。 在回调函数,可以获取到从后端返回的数据。可以使用layui的laytpl模板引擎,将数据和HTML模板结合,渲染出需要展示的内容。 具体操作步骤如下: 1. 在页面引入layui库和相关样式: ``` <link rel="stylesheet" href="layui/css/layui.css"> <script src="layui/layui.all.js"></script> ``` 2. 在HTML页面定义一个展示后端数据的容器: ``` <div id="container"></div> ``` 3. 使用layui的ajax方法发送请求并获取后端数据: ``` layui.use('jquery', function(){ var $ = layui.$; $.ajax({ url: '后端接口地址', type: 'GET', success: function(data){ // 后端返回的数据将存储在data // 在这里使用laytpl模板引擎渲染数据 var tpl = $('#template').html(); // 获取HTML模板的内容 var render = layui.laytpl(tpl); // 初始化laytpl模板 var html = render.render(data); // 渲染数据 $('#container').html(html); // 将渲染好的内容显示在容器 }, error: function(){ // 处理错误情况 } }); }); ``` 4. 在页面定义与数据对应的HTML模板: ``` <script type="text/html" id="template"> {{# layui.each(d, function(index, item){ }} <div>{{ item.name }}</div> {{# }); }} </script> ``` 以上就是如何使用layui的ajax方法获取后端数据并在前端展示的方法。请根据实际情况修改代码的接口地址和数据渲染逻辑。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值