如何使用 JavaScript 访问 CouchDB?标准操作程序错误

How to access CouchDB using JavaScript? SOP errors

本文关键字:标准 操作 程序 错误 CouchDB 何使用 JavaScript 访问      更新时间:2023-09-26

我是Couch DB的新手。我在大学服务器上的主文件夹中安装了CouchDB,看起来像...

http://servername.com/home/users/roby

Db在端口1234上运行,工作正常。我能够使用适用于 Java 的 Couch4J 驱动程序使用来自我的机器的 SSH 隧道填充数据库。

我正在开发一个需要存储在数据库中的数据的 Web 应用程序。假设我有一个索引.html文件位于

http://servername.com/home/users/roby/public_html/index.html

即转换为

http://servername.com/~roby/index.html

发出简单的请求时,我遇到了奇怪的错误,例如

XMLHttpRequest cannot load http://xxxxxxx:1234/. 
Origin http://servername.com is not allowed by Access-Control-Allow-Origin.

我用来尝试从数据库获取一些响应的代码如下

$.couch.urlPrefix = "http://xxxxxxx:1234";
$.couch.info({
    success: function(data) {
        console.log(data);
    }
});

任何帮助,不胜感激。

谢谢。

.RM

你有三个选择。

  1. 你可以用Nginx代理CouchDB,这样你就可以从与服务CouchDB相同的端口提供html。
  2. 你可以从 CouchDB 本身提供 html,方法是将它附加到文档中(最简单的方法是使用 CouchApp 或类似方法)。
  3. 最后,您可以在 CouchDB 中启用 jsonp 响应并添加calback参数进行查询,jQuery 支持 jsonp 响应。

如果无法更改服务器配置,则选项 1 和 3 将退出。至于第二个,您可以在最低级别使用放置请求添加附件:

curl -X PUT http://xxxx:1234/dbname/docname/index.html --data-binary @index.html -H "Content-Type: text/html"

您需要在每次更改后上传文件,因此手动操作并不实用。有一些工具,如CouchApp或Kenso可以帮助你。