javascript - 连接 AJAX、CouchDB 和 JavaScript

标签 javascript ajax couchdb prototypejs

我在使用 AJAX、CouchDB 和 JavaScript 时遇到了一点问题。

我可以在浏览器中从 CouchDB 打开以下 URL:http://192.168.1.58:5984/mydb/name

new Ajax.Request('http://192.168.1.58:5984/mydb/namee', {
  method: 'POST',
  onComplete: function(transport) {
   alert(transport.responseText);
  }
 });

我总是收到空警报。

你能帮帮我吗?

最佳答案

这里的问题是,您的浏览器不允许您在其他网络服务器上进行查询,而不是您的脚本所在的服务器。 (谷歌:同源政策)

但是有一种通用技术可以解决此用例。它叫做JSONP .从 1.0 版开始,您必须首先在 CouchDB 中激活此功能。在 CouchDB 配置文件 (.ini) 的 [httpd] 部分,您必须添加一个

allow_jsonp = true

完成此操作后,您可以在 CouchDB 上生成 JSONP 查询。基本上像这样添加动态行:

<script type="text/javascript" 
     src="http://server2.example.com/getjson?callback=parseResponse">
</script>

但有关详细信息,请参阅上面链接的文章。

无论如何,我建议在 JavaScript 方面使用 jQuery、DojoToolKit 等框架。在 jQuery 中,例如添加“?回调=?”就足够了在 URL 的末尾。

关于javascript - 连接 AJAX、CouchDB 和 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3386679/

相关文章:

size - 为什么我的 CouchDB 数据库增长如此之快?

sqlite - 对于个人提要阅读器等应用程序,sqlite3 与 CouchDB 的优势是什么?

javascript - 向 Leaflet map 添加可点击按钮

javascript - 手动触发无限滚动

javascript - 如何用ajax响应替换html元素?

javascript - 将表单数据发送到 Controller (Codeigniter)

javascript - 如何用 selenium 更改 phantomjs 的日志文件路径?

javascript - Iframe/Javascript 检查 Youtube 视频是否结束

AJAX 请求和连接超时 : Chrome doesn't timeout after over 15 hours, 但 IE 呢?

database - CouchDB - 一步创建一个带附件的文档?