我想使用 jQuery 监听 CouchDB 的持续变化 - 现在可以了:
http://localhost:5984/testdb/_changes?feed=continuous
这意味着每次数据库更新时我都会得到一个新的 json 行 - 但如何使用 jQuery 从此 URL 读取更新?
我尝试过使用这个,但它不起作用:
$.ajax(
{
url : "http://localhost:5984/testdb/_changes?feed=continuous&callback=?",
dataType : 'json',
success : function(data)
{
alert(data.results.length);
}
});
编辑:$.ajax调用“成功”函数并立即返回,它不会“轮询”更改。(下图中ajax列的时间轴列为16毫秒)
不,这不是跨域 ajax 问题 - 我可以在 fireBug 中看到有一个具有正确数量元素的响应
因此,任何指导/建议将不胜感激 - 它不一定是 jQuery - 普通的旧 javscript 也可以
最佳答案
我突然想到了两种好方法来做到这一点。
使用计时器(即
setTimeout();
),每 X 秒对更改源运行 AJAX 调用。您还将存储您收到的最后一个序列号,以便您可以告诉更改源在下次轮询时启动哪个序列号。这将防止重复数据并使响应更小。根据您需要支持的浏览器,您也许能够使用 EventSource API。这是一个 jQuery 实现:https://github.com/rwldrn/jquery.eventsource
关于jquery - 使用 Ajax/jQuery 从 CouchDB 读取连续源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4232391/