scr*_*key 6 javascript jquery couchdb
我在下面的问题中找到了答案.
我需要在apache中设置一个反向代理,通过将以下行添加到我的虚拟主机中大约需要2分钟;
ProxyPass/couchdb/http:// dojo:5984 /
由于原始策略相同,您无法跨端口发布数据.我知道这适用于域而不是不同的端口,因此您设置了反向代理.
我想知道如何使用JavaScript或jQuery将数据发布到couchDB.
我跟着这个tut创建了一个数据库,我可以使用curl发布和获取数据,一切正常.我使用下面有卷曲的例子.
我也可以使用jQuery获取数据,但我不知道如何POST到CouchDB
curl -X GET http://127.0.0.1:5984/mycouchshop/_all_docs.
curl -X POST http://127.0.0.1:5984/mycouchshop/ -d @ person.json -H"Content-Type:application/json"
我可以使用jQuery获取和显示数据.下面的代码工作正常.
$.ajax({
url : 'http://couchdb:5984/mycouchshop/_design/peoples/_view/people',
type : 'GET',
dataType : "jsonp",
success : function(json) {}
});
Run Code Online (Sandbox Code Playgroud)
但是发布数据导致405方法不允许
$.ajax({
url : 'http://couchdb:5984/mycouchshop/',
data : {"forename": "Bob", "surname": "McHamster", "type": "person"},
contentType : "application/json",
type : 'POST',
dataType : "json",
success : function(resp) {}
});
Run Code Online (Sandbox Code Playgroud)
我不是 couchapp 专家,但我遇到了同样的问题。问题是您遇到了跨域限制,您的应用程序从一个端口提供服务,而 couchdb 在另一个端口上访问。来自couchapp.org:
我从开始使用 CouchDB 编写 Ajax 应用程序的人们那里得到的一个常见问题是“当我尝试使用 jQuery 查询 CouchDB 时,它不起作用。” 通常情况下,他们的文件系统上有一个 index.html 文件,该文件正在尝试对 CouchDB 服务器进行 Ajax 调用。在我向他们解释同源安全策略后,他们开始理解这一点,这意味着 CouchDB 需要为他们的 HTML 提供服务(而不是直接从文件系统将其加载到浏览器中)。
因此,最简单的 CouchApp 只是一个 HTML 文件,直接从 CouchDB 提供服务,它使用 Ajax 从 CouchDB 加载和保存数据。
似乎所有应用程序文件都需要使用 couchapp (http://couchapp.org/page/index)“推送”到 couchdb 服务器。我在 Mac 上工作,所以我使用了独立可执行文件。安装 couchapp 的说明在那里
当您了解 couchapp 的工作原理后,您可以使用本教程
我正在努力弄清楚它们......如果您发现任何好东西,请分享!祝你好运!
编辑:我刚刚找到这个教程
| 归档时间: |
|
| 查看次数: |
8460 次 |
| 最近记录: |