前端页面使用DataTables无刷新更新数据

简介: 前端页面使用DataTables无刷新更新数据

前言

不用整体刷新页面,可以定时更新后台数据的变化,本Demo使用了DataTables表格插件
请按照官方文档直接引入相关SDK。。。。 废话不多说了,直接上代码

步骤/相关代码

前端的DIV Box

<div class="row" >
    <table  id="datatables" class="display compact" style="width:90%"></table>
</div>

JS引入渲染

$(document).ready(function () {
    initTableConfig();
    autoLoadDataTable();
    //定时任务
    setInterval(function () {
        autoLoadDataTable();
    },10000)
})


function autoLoadDataTable(){
    //如果有不同的table需要刷新,直接添加不同的URL数据源和不同的ID标签就可以了
    RefreshTable('#datatables', base_url + '/risk/getDatas');
}

//配置DataTables,只是配置,渲染在定时任务的方法里面
function initTableConfig(){
    $('#datatables').DataTable({
        "paging":   false,
        "ordering": false,
        "info":     false,
        //搜索和排序相关参数
        "searching":false,
        "ordering":false,
        columns: [
            {data: 'id' , title:'ID' },
            { data: 'ip' , title:'是否正常', "visible": false},
            {
                data: 'port' ,
                title:'服务地址',
                render: function (data,type,row) {
                    // console.log('data'+data+'type'+type+'row'+row+'rowid'+row.id);
                    var ip = row.ip;
                    var port = row.port;
                    return '<td> '+ip+':'+port+'</td>';
                }
            },
            { data: 'isLined' , title:'是否正常'},
            { data: 'online' , title:'是否在线'},
            { data: 'iafStatus' , title:'IAF状态'},
            {
                // data: 'iafStatus',
                title:'操作',
                render: function (data,type,row) {
                    var ip = row.ip;
                    var port = row.port;
                    return '<td> <button class="btn btn-danger btn-xs"  onclick ="online(this)" style="width:80%"  ip = "'+row.ip+'" port = "'+row.port+'">上线</button></td>';
                }
            }
        ],
    });
}



//刷新数据,方法无须更改可以直接复用
function RefreshTable(tableId, urlData){
    $.getJSON(urlData, null, function( json )
    {
        table = $(tableId).dataTable();
        oSettings = table.fnSettings();
        table.fnClearTable(this);//动态刷新关键部分语句,只会根据后台数据有变化才会刷新
        for (var i=0; i<json.length; i++)
        {
            table.oApi._fnAddData(oSettings, json[i]);//注意取得的jason串的字符数量,要与html中列的数量要有对应
        }
        oSettings.aiDisplay = oSettings.aiDisplayMaster.slice();
        table.fnDraw();
    });
}

Java提供后端服务,相关测试方法

//controller层一个方法(Spring框架)
    @RequestMapping("getDatas")
    @ResponseBody
    public List<SvcMonitor> getDatas(){
        List<SvcMonitor>  svcMonitorList= new ArrayList<>();
        Random random = new Random();
        for(int i = 1; i<=10; i++){
            SvcMonitor svcMonitor = new SvcMonitor();
            int rndNum = random.nextInt(1000);
            svcMonitor.setId(rndNum+"");
            svcMonitor.setIp("192.68.1."+rndNum);
            svcMonitor.setPort(rndNum+1000+"");
            svcMonitor.setIsLined("正常");
            svcMonitor.setOnline("在线");
            svcMonitor.setIafStatus(rndNum-1+"");
            svcMonitorList.add(svcMonitor);
        }
        return svcMonitorList;
    }

页面效果

参考资料:

Datatables中文网

目录
相关文章
|
21天前
|
开发框架 前端开发 JavaScript
循序渐进VUE+Element 前端应用开发(5)--- 表格列表页面的查询,列表展示和字段转义处理
循序渐进VUE+Element 前端应用开发(5)--- 表格列表页面的查询,列表展示和字段转义处理
|
4天前
|
开发框架 前端开发 Java
【前端学java】SpringBootWeb极速入门-实现一个简单的web页面01
【8月更文挑战第12天】SpringBootWeb极速入门-实现一个简单的web页面01
15 3
【前端学java】SpringBootWeb极速入门-实现一个简单的web页面01
|
6天前
|
前端开发 JavaScript
这篇文章介绍了如何使用form表单结合Bootstrap格式将前端数据通过action属性提交到后端的servlet,包括前端表单的创建、数据的一级和二级验证,以及后端servlet的注解和参数获取。
这篇文章介绍了使用AJAX技术将前端页面中表单接收的多个参数快速便捷地传输到后端servlet的方法,并通过示例代码展示了前端JavaScript中的AJAX调用和后端servlet的接收处理。
这篇文章介绍了如何使用form表单结合Bootstrap格式将前端数据通过action属性提交到后端的servlet,包括前端表单的创建、数据的一级和二级验证,以及后端servlet的注解和参数获取。
|
6天前
|
前端开发
第一种方式:使用form表单将前端数据提交到servelt(将前端数据提交到servlet)
这篇文章介绍了如何使用form表单结合Bootstrap格式将前端数据通过action属性提交到后端的servlet,包括前端表单的创建、数据的一级和二级验证,以及后端servlet的注解和参数获取。
第一种方式:使用form表单将前端数据提交到servelt(将前端数据提交到servlet)
|
5天前
|
存储 前端开发 JavaScript
Springboot+Vue实现将图片和表单一起提交到后端,同时将图片地址保存到数据库、再次将存储的图片展示到前端vue页面
本文介绍了使用Springboot后端和Vue前端实现图片与表单数据一起提交到后端,并保存图片地址到数据库,然后展示存储的图片到前端Vue页面的完整流程。
Springboot+Vue实现将图片和表单一起提交到后端,同时将图片地址保存到数据库、再次将存储的图片展示到前端vue页面
|
19天前
|
监控 前端开发 JavaScript
|
21天前
|
开发框架 前端开发 JavaScript
循序渐进VUE+Element 前端应用开发(4)--- 获取后端数据及产品信息页面的处理
循序渐进VUE+Element 前端应用开发(4)--- 获取后端数据及产品信息页面的处理
|
6天前
|
监控 前端开发 数据挖掘
微店商品详情数据接口:接入淘宝代购系统的连接桥梁,展示前端页面
微店API让开发者获取商品详尽信息,如名称、价格等。作为淘宝代购系统的桥梁,它支持数据同步、商品及订单管理。通过多平台API,实现实时商品数据抓取,提供一致购物流程。此外,还能进行价格比较、库存监控,提升用户交互体验,并辅助数据分析以优化采购策略。开发者需按规范对接API,并参考官方文档获取最新信息。
|
29天前
|
存储 监控 前端开发
通用研发提效问题之前端页面高效支撑如何解决
通用研发提效问题之前端页面高效支撑如何解决
|
18天前
|
开发框架 前端开发 API
使用代码生成工具快速开发应用-结合后端Web API提供接口和前端页面快速生成,实现通用的业务编码规则管理
使用代码生成工具快速开发应用-结合后端Web API提供接口和前端页面快速生成,实现通用的业务编码规则管理