jquery - 使用 Ajax/jQuery 从 CouchDB 读取连续源

标签 jquery ajax couchdb jsonp

我想使用 jQuery 监听 Co​​uchDB 的持续变化 - 现在可以了:

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毫秒)

alt text

不,这不是跨域 ajax 问题 - 我可以在 fireBug 中看到有一个具有正确数量元素的响应

因此,任何指导/建议将不胜感激 - 它不一定是 jQuery - 普通的旧 javscript 也可以

最佳答案

我突然想到了两种好方法来做到这一点。

  1. 使用计时器(即 setTimeout();),每 X 秒对更改源运行 AJAX 调用。您还将存储您收到的最后一个序列号,以便您可以告诉更改源在下次轮询时启动哪个序列号。这将防止重复数据并使响应更小。

  2. 根据您需要支持的浏览器,您也许能够使用 EventSource API。这是一个 jQuery 实现:https://github.com/rwldrn/jquery.eventsource

关于jquery - 使用 Ajax/jQuery 从 CouchDB 读取连续源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4232391/

相关文章:

javascript - 如何验证 HTML5 日期格式

javascript - 如何使用组合框隐藏/显示表单

couchdb - 创建 View 以检查文档字段的特定值(用于简单登录)

javascript - 在nodejs中通过ajax获取接收到的JSON的值

javascript - OpenWeatherMap API - 附加经度和纬度时出现问题

python - 是否有任何用于 NoSQL 数据库架构迁移的工具?

indexing - CouchDB 的 B 树数据库中实际存储了哪些数据?

javascript - jQuery css() 函数更改 'a' 属性而不是 'a:hover' 属性

jquery - 如何在不通过 jQuery 提交的情况下强制验证 HTML 表单

jquery - 每5秒刷新一次表数据