Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaScript访问CouchDB?SOP错误_Javascript_Jquery_Jquery Plugins_Couchdb_Same Origin Policy - Fatal编程技术网

如何使用JavaScript访问CouchDB?SOP错误

如何使用JavaScript访问CouchDB?SOP错误,javascript,jquery,jquery-plugins,couchdb,same-origin-policy,Javascript,Jquery,Jquery Plugins,Couchdb,Same Origin Policy,我是新来的。我在我们大学服务器的主文件夹上安装了CouchDB,看起来像 http://servername.com/home/users/roby 数据库在端口1234上运行,工作正常。我能够使用Couch4J驱动程序通过SSH隧道从我的机器上填充DB 我正在开发一个web应用程序,它需要存储在数据库中的数据。假设我有一个index.html文件位于 http://servername.com/home/users/roby/public_html/index.html 这被翻译成 htt

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

http://servername.com/home/users/roby
数据库在端口1234上运行,工作正常。我能够使用Couch4J驱动程序通过SSH隧道从我的机器上填充DB

我正在开发一个web应用程序,它需要存储在数据库中的数据。假设我有一个index.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.
下面是我用来尝试从DB获得一些响应的代码

$.couch.urlPrefix = "http://xxxxxxx:1234";

$.couch.info({
    success: function(data) {
        console.log(data);
    }
});
感谢您的帮助

谢谢


RM

您有三种选择

  • 您可以使用代理CouchDB,比如说Nginx,这样您就可以从与CouchDB相同的端口提供html
  • 您可以通过将CouchDB附加到文档(最简单的方法是使用CouchApp或类似工具)来从CouchDB本身提供html
  • 最后,您可以在CouchDB中启用jsonp响应,并将
    calback
    param添加到查询中,jQuery支持jsonp响应
  • 如果无法更改服务器配置,则选项1和3不可用。至于第二个问题,您可以在最低级别使用put请求添加附件:

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

    每次更改后都需要上传文件,所以手工操作并不实际。有诸如或之类的工具可以帮助您实现这一点。

    谢谢您的回复。如果我没有在服务器上安装CouchApp的权限怎么办?如何将HTML文档手动附加到CouchDB文档?我只需要三个视图,这是我用Futon创建的。你建议在这种情况下代理吗?@RMinelli嗨,我已经扩展了我的答案,希望现在更清楚。非常感谢!我会尝试的,现在我把它作为我开发中的第二项工作!