gpt4 book ai didi

loops - Coldfusion - 数据库记录更新时刷新页面

转载 作者:行者123 更新时间:2023-12-01 11:14:33 24 4
gpt4 key购买 nike

你好,

让我描述一下我的问题:

场景:

  • 用户 1 有一个 coldfusion 网页,其中包含 6 个警报作为使用数据库填充的 html 元素。用户 1 不断监视此页面的更改。
  • 另一台计算机(不同 session )上的用户登录管理控制台并添加第 7 个元素并将其插入数据库。
  • 数据库包含一个字段,一旦添加警报并将其插入数据库,该字段就会从 0 变为 1。
  • 用户 1 的网页不必动态刷新或更新第 8 个警报。

问题:

  • 我正在努力运行一个异步循环,该循环永久查询数据库以获取告诉它有更改的记录,同时不卡住页面的其余部分。

解决方案:

  • 我需要运行 cfquery 来检查数据库中的 isUpdated 字段。
  • cfquery 需要每分钟运行一次。
  • 一旦 cfquery 返回 1,页面就会刷新,这反过来也会填充新的警报。

最佳答案

可以通过 sockets 完成,您不必每分钟检查一次新记录的可用性。

你也可以用 javascript/jquery 来实现:

<script>
var lastAlert = '#lastAlert#'; //last at the time of loading the page

setInterval(function() {
lastAlert = isUpdated(lastAlert);
}, 60000);

function isUpdated(lastAlert){
res = lastAlert;
$.ajax({
url: 'checkAlerts.cfm', //in this file do check for changes in the database. should return the number of the last alert
type: 'POST',
data: {lastAlert:lastAlert},
cache: false,
success:function(res){
if(res > lastAlert){
//your code if there is a new entry
alert('a new entry has been added');
}
}
});
return res;
}
</script>

我没有检查代码!但我希望您了解如何进行。

关于loops - Coldfusion - 数据库记录更新时刷新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54324331/

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