如何解决如何使用和不使用JavaScript都将数据发布到CouchDB
|| 我有一个表演,显示带有从文档填充的字段的表单。我想更改字段中的值,然后保存更新的文档。 我在寻找一个清晰,简洁的方法方面遇到困难。 认真地讲,仅完成此示例将为许多人带来奇迹(为了简洁起见,我将省去很多东西)。 安装Couchapp 这不在我的问题范围内,但这是完整性的说明。 创建一个couchapp 再次,这超出了我的问题范围。这是一个关于如何创建一个沙发沙发的简明教程。 创建一个模板 在沙发应用程序的根目录中创建一个名为模板的文件夹。在模板文件夹中,创建一个名为myname.html的HTML页面。将以下内容放入其中。<html>
<head>
<title>{{ title }}</title>
</head>
<body>
<form method=\'post\' action=\'#\'>
<fieldset>
Hello <input type=\'text\' name=\'name\' value=\'{{ name }}\'>
<input type=\'submit\' name=\'submit\' value=\'submit\'>
</form>
</body>
</html>
制作节目
请参阅上面的教程,了解如何执行此操作。
将此代码添加到名为myname的节目中。
function(doc,req) {
if (doc) {
var ddoc = this
var Mustache = require(\"vendor/couchapp/lib/mustache\");
var data = {
title: \"The Name\",name: \"Bobbert\"
}
return Mustache.to_html(ddoc.templates.myname,data)
} else {
return (\'nothing here baby\')
}
}
通过...使用新名称更新文档
那么谁又可以通过客户端和服务器端完成此步骤呢?
请不要将我指向该指南,我需要用您的话来阅读。
谢谢。
编辑:
尽管返回值不是很漂亮,但仅将表单发布到更新处理程序将更新文档。
解决方法
您可能需要研究
update handler functions
。
更新处理程序处理精细的文档转换。因此,您可以采用一种具有不同目的的表格,并且仅通过更新处理程序来更新文档中的相关字段。
您的更新处理程序将需要从您的表单中获取一个PUT
请求。浏览器无法直接执行此操作,因此您需要一些JavaScript才能为您处理。如果您使用的是jQuery,则此插件可以采用您的表单,并使用PUT
通过AJAX无缝提交。
在函数内部,您可以接受要接受的字段,在本例中为“ 5”,并将其直接应用于文档。 (输入验证可通过“ 6”功能处理)
更新处理程序(在您的设计文档中)
{
\"updates\": {
\"name\": function (doc,req) {
doc.name = req.form.name;
return [doc,\"Name has been updated\"];
}
}
}
的HTML
<form id=\"myForm\" action=\"/db/_design/ddoc/_update/name/doc_id\">...</form>
的JavaScript
$(document).ready(function() {
$(\'#myForm\').ajaxForm({
type: \"PUT\",success: function () {
alert(\"Thank you\");
}
});
});
一旦建立并运行了此基本示例,向更新处理程序中添加一些更高级的功能就不会困难得多。 :)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。