gpt4 book ai didi

jquery - AJAX - 仅当有新数据时才获取

转载 作者:行者123 更新时间:2023-12-01 07:47:57 25 4
gpt4 key购买 nike

所以现在,我每秒都会执行一次 GET 请求,以检查数据库中是否有新信息。

这使用了用户方面的大量资源。我有一个显示当前数据的文本框。如果数据库中有新数据,则会被新数据替换。目前,我每秒执行一次 GET 请求来实现此目的。

有更好的方法吗?

例如:我查看检查窗口并看到堆栈溢出。它没有执行任何 GET 请求。但一旦有新评论,它就会更新为新评论。我想要类似的东西。

我研究过 Stackoverflow,但没有找到对我正在制作的应用程序有帮助的。

我当前的代码:

function timers() {

tmrAjax = setInterval(function () {

$.get('<?php echo base_url('home/get') ?>', function (html) {

$("[name=text]").attr('id', 'text');
$("#text").val(html);
// $("#text").removeAttr("disabled");
});
}, 1000); //a call every second is ridiculous!
}

timers();

$(window).blur(function () {
clearInterval(tmrAjax);
$("#text").removeAttr("id");
// $("#text").attr("disabled", "disabled");
}).focus(timers);

最佳答案

StackOverflow 网站和 AngularJS 中出现的概念称为 WebSocket。传统的 HTTP AJAX 长轮询可以与 WebSocket 进行比较:


(来源:jensimmons.com)

WebSockets 与服务器有持久连接。这意味着,服务器总是知道数据何时发生变化,并将数据推送到客户端,而不是传统的客户端从服务器拉取(请求)数据的方式。

如您所见,WebSocket 是相同的,但是逐帧进行。他们拿大块的。仅将数据 block 发送到客户端,从而节省大量时间和带宽:


(来源:rabbitmq.com)

关于jquery - AJAX - 仅当有新数据时才获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33967455/

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