sam*_*ami 5 ajax jquery jsonp couchdb
我想使用jQuery来监听来自CouchDB的持续更改 - 现在这可行:
http://localhost:5984/testdb/_changes?feed=continuous
Run Code Online (Sandbox Code Playgroud)
这意味着每次有db更新时我都会获得一个新的json行 - 但是如何使用jQuery从这个URL读取更新?
我尝试使用它,但它不起作用:
$.ajax(
{
url : "http://localhost:5984/testdb/_changes?feed=continuous&callback=?",
dataType : 'json',
success : function(data)
{
alert(data.results.length);
}
});
Run Code Online (Sandbox Code Playgroud)
编辑:$ .ajax调用"success"函数并立即返回,它不会"轮询"更改..(下图中ajax列的时间轴列为16ms)
不,它不是一个跨域的ajax问题 - 我可以在fireBug中看到有一个具有正确数量的元素的响应
所以任何指导/建议都会受到赞赏 - 它不一定是jQuery - 普通的旧javscript也会这样做
我立即想到了两种好方法来做到这一点。
使用计时器(即setTimeout();
),每 X 秒对更改提要运行一次 AJAX 调用。您还将存储您收到的最后一个序列号,以便您可以告诉更改源在下次轮询时启动哪个序列号。这将防止重复数据并使响应更小。
根据您需要支持的浏览器,您也许可以使用 EventSource API。这是一个 jQuery 实现:https://github.com/rwldrn/jquery.eventsource
归档时间: |
|
查看次数: |
1481 次 |
最近记录: |