gpt4 book ai didi

jquery - 当数据库中的记录发生更改时,如何不断更新数据表、Websockets 或长轮询实现

转载 作者:行者123 更新时间:2023-11-30 23:43:21 26 4
gpt4 key购买 nike

我正在使用数据表作为网络应用程序上的网格。问题是,用户必须始终刷新页面才能从数据库获取当前数据,有没有办法自动完成此操作?因为多个应用程序写入同一个表,而 Web 应用程序只是用于监控,但如果用户必须刷新页面才能获取当前数据,那就达不到目的了。这是我的初始化代码:

  $('.{{datatable['class']}}').dataTable( {
"sDom": 'T<"clear">lfrtip',
"oTableTools": {
"sSwfPath": "includes/swf/copy_csv_xls_pdf.swf",
"aButtons": [
{
"sExtends":"copy",
"mColumns":[{{datatable['flds']}}]
},
{
"sExtends":"csv",
"mColumns":[{{datatable['flds']}}]
},

{
"sExtends":"xls",
"mColumns":[{{datatable['flds']}}]
},
{
"sExtends": "pdf",
"mColumns":[{{datatable['flds']}}],
"sPdfOrientation": "landscape",
"sPdfMessage": "{{datatable['title']}}"
}
]
},
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "{{datatable['source']}}",
"aoColumns": [
{% for column in 0..datatable['columns']-2 %}
null,
{% endfor %}
null
]

});

有没有一种方法可以在每次数据源发生任何事情(更新/插入/删除)时列表自动更新?我已经按照丹尼的建议实现了一个循环,

var int=self.setInterval(function(){oTable.fnDraw();},1000);

但问题是列表总是一个有趣的状态,参见附图enter image description here

最佳答案

您可以通过间隔计时器在循环中发生一个 ajax 请求,该计时器检查自页面上次收到任何内容以来是否有新数据。您需要弄清楚可以使用什么来确定记录数量或保存上次更新/添加/删除的日期时间的专用记录,以及如果日期时间较新,则上次获取数据时再次更新等.在页面上,您可以在 javascript var 中记录/更新上次数据更新的日期时间,以用于将来的所有检查。

关于jquery - 当数据库中的记录发生更改时,如何不断更新数据表、Websockets 或长轮询实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15920107/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com