Džu*_*ris 5 javascript rest jquery couchdb
我看到了夫妻的这样的问题,并阅读教程我能找到。不幸的是,他们都认为我对一些我实际上没有的知识有所了解,我什至不知道我不知道的关键词。
我有一个 HTML 页面,其中包含一些 javascript。我可以将信息放在字符串或 javascript 对象中。现在,我如何将它发送到我的数据库?我如何指出我的数据库在哪里以及javascript如何授权数据库以便它可以写入?
大多数教程只展示了 CouchDB 如何与 curl 一起工作,我还没有看到使网站与数据库交互的教程。这不是 CouchDB 的用途吗?
从 JavaScript(使用 jQuery)发送 REST 请求与使用 curl 所做的非常相似:
function create() {
var o = {"name":"Bond"};
$.ajax({
type: "POST",
url: "/myDB/",
contentType: "application/json",
data: JSON.stringify(o),
dataType: "json",
success: function(data) {
alert(data.id + " created !");
}
});
}
Run Code Online (Sandbox Code Playgroud)
但要小心:如果不是从与 CouchDB 相同的服务中检索请求,出于安全原因,该请求将被阻止。所以把你的 HTML 页面作为你设计文档的附件。
稍后您将学习如何在“节目”或“列表”中使用此类脚本。但让我们从简单的事情开始。
仅仅因为我也很难找到明确的答案,以下是在 vanilla JS 中的方法:
const URL = "http://127.0.0.1:5984"
function createDB(dbName) {
var req = new XMLHttpRequest();
req.open("PUT", URL + "/" + dbName, true);
req.setRequestHeader("Content-type", "application/json");
req.send();
}
function updateDB(dbName, docName, data) {
var req = new XMLHttpRequest();
req.open("PUT", URL + '/' + dbName + '/' + docName, true);
req.setRequestHeader("Content-type", "application/json");
req.send(JSON.stringify(data));
}
Run Code Online (Sandbox Code Playgroud)
所以你会像这样使用它们:
createDB('baseball');
updateDB('baseball', 'document', {"pitcher":"Nolan Ryan"});
Run Code Online (Sandbox Code Playgroud)
注意:我不会在这里讨论修订号和冲突解决方案,只是提供一些非常基本的代码。第二次尝试更新相同的记录时,除非您提供正确的修订号,否则会发生冲突,仅供参考。
updateDB('baseball', 'document', {"_rev":"1-7e007b1ef348cba88396435479822386", "pitcher":"Roger Clemens"});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6634 次 |
最近记录: |