CouchJs :CouchDB的JavaScript解释器
CouchDB :一个NonSQL数据库,你用JS之类的东西在用户空间中执行大多数事情,因为在数据库级别执行的事情往往很昂贵
完整性:在信息安全方面,完整性意味着无法无法修改数据。更多here。
CouchJS website没有内部搜索,在谷歌搜索或多或少令人困惑的博客文章后,我迷路了。我在哪里可以找到一些简单的例子(不仅仅是curls / telnet),如下图所示?
<script type="text/javascript" src="lib/jquery-1.7.2.js"></script>
<script type="text/javascript" src="lib/jquery-ui-1.8.21.custom.min.js"></script>
<script src="http://127.0.0.1:5984/_utils/script/jquery.couch.js"></script>
//# 1. initilalize the db -object
//# 2. save something to the db with the object
<script> db.test.save('hello world') </script>
答案 0 :(得分:2)
建立在弗洛里安的答案之上 - 因为当我指出一些错误here时,他删除了他的答案,请在历史中浏览他的答案。他提出了有关文档更新处理程序here和示例here的文章。至少有两个问题,XMLHttpRequest here接受一个字符串,而不是对象 - 我编辑了他的答案,添加XMLHttpRequest -manual进行进一步调查,但由于某种原因有人取消了编辑。所以我自己的答案得到了最多的解决方案,但仍然在激怒DOM 11,我仍在努力解决。
// By this function we solve the problem with Object,
// changing JSON -object to string. The source is:
// https://stackoverflow.com/questions/111529/create-query-parameters-in-javascript
function EncodeQueryData(data)
{
var ret = [];
for (var d in data)
ret.push(encodeURIComponent(d) + "=" + encodeURIComponent(data[d]));
return ret.join("&");
}
// We use ready CouchDB -example, source:
// http://wiki.apache.org/couchdb/HTTP_Document_API#PUT
var datas = {
"Subject":"I like Plankton",
"Author":"Rusty",
"PostedDate":"2006-08-15T17:30:12-04:00",
"Tags":["plankton", "baseball", "decisions"],
"Body":"I decided today that I don't like baseball. I like plankton."
};
// We use the default -function, please, see the O'Reilly.
// https://developer.mozilla.org/En/XMLHttpRequest/Using_XMLHttpRequest
var xhr = new XMLHttpRequest();
// This may be wrong
xhr.open( 'POST', 'test.js', true );
xhr.setRequestHeader( 'Content-Type', 'application/json' );
xhr.open( 'POST', '127.0.0.1:5984/test/559c327683fe0acb96aff72bd174c258', true);
var msg = EncodeQueryData(datas);
xhr.send(msg);
<强> TODO 强>
- 现在有一个错误XMLHttpRequest &#34;不处理嵌套对象&#34; 但是字符串所以我们需要更复杂的命令或数组 使用XMLHttpRequest。我感谢C. * rk帮我这个。
- 可能与test.js有关,正在调查错误:
"XMLHttpRequest cannot load %3127.0.0.1:5984/test/559c327683fe0acb96aff72bd174c258. Cross origin requests are only supported for HTTP. Error: NETWORK_ERR: XMLHttpRequest Exception 101"
相关难题
答案 1 :(得分:1)
我刚刚浏览了CouchJS网站的介绍页面,我发现的第一件事就是:
CouchDB也会说普通的旧HTTP,所以开始使用JavaScript 是使用XMLHttpRequest对象在公园散步。
从这里开始只是使用普通的CouchDB HttpRestApi来获得你想要的东西。
基于此,听起来你需要一个jquery插件来抽象/包装CouchDB Rest API来编写你的ajax调用。
所以我用谷歌搜索jquery couch
,正如你所说,有很多结果不明确或指向任何有用的文档或插件,$.couch
除外,它看起来很像喜欢它是一个野兽,但文档很干净,看起来它可以做任何Rest API允许的任何事情。
答案 2 :(得分:1)
“您通过HTTP请求与CouchDB进行通信。所以您所要做的就是使用$ .ajax并发出这些请求(而不是curl)(您可能必须在CouchDB设置中启用JSONP)。” ~Felix Kling的评论
可以在http://127.0.0.1:5984/_utils/config.html
中以管理员身份启用JSONP。
我收集了一些参考文献,但还不能说最好的参考文献,还不能说AJAX -thing是否能解决问题。无论如何,这个看起来很有用,How do I POST new data to CouchDB using JavaScript/jQuery。我希望Felix Kling能够更充分地回答这个问题,但这里有一些问题需要进一步研究。
或许相关:关于AJAX和JSONP的内容