通过更新处理程序向couchDB提交表单无效

通过更新处理程序向couchDB提交表单无效,couchdb,couchapp,Couchdb,Couchapp,我不能通过更新处理程序发布到CouchDB,我不知道我做错了什么。下面是详细的描述 我使用erica创建了一个应用程序,详细信息主要来自wiki。它工作得很好,直到我决定发布,但服务器端,通过更新处理程序,根据 我与erica一起创建了一个新的“webapp”,从wiki构建了一个索引剪切粘贴,并做了一些小改动: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <t

我不能通过更新处理程序发布到CouchDB,我不知道我做错了什么。下面是详细的描述

我使用erica创建了一个应用程序,详细信息主要来自wiki。它工作得很好,直到我决定发布,但服务器端,通过更新处理程序,根据

我与erica一起创建了一个新的“webapp”,从wiki构建了一个索引剪切粘贴,并做了一些小改动:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Minimal Form</title>
</head>

<body>
<div id="contact-form">
  <form id="contact" method="post" action="/mydatabase/_design/mydesigndoc/_update/postForm" enctype="multipart/form-data">
    <fieldset>
        <label for="name">name</label>
        <input type="text" name="name" placeholder="Full Name" title="Enter your name" class="required">

        <label for="phone">phone</label>
        <input type="tel" name="phone" placeholder="+1 (555) 555-5555" required="" pattern="\+?[0-9 )(-]+">

        <label for="email">e-mail</label>
        <input type="email" name="email" placeholder="you@example.org" title="e-mail address" class="required email">

        <label for="blog">blog</label>
        <input type="url" name="url" placeholder="http://">

        <label for="message">message</label>
        <textarea name="message"></textarea>

        <input type="submit" name="submit" class="button" id="submit" value="submit">
    </fieldset>
  </form>
</div>
这被放在ddoc文件夹中,与erica一起推送应用程序,根据链接打开网页,找到表格,但提交时我得到的答案是:

{"error":"unnamed_error","reason":"(new TypeError(\"point is undefined\", \"/usr/share/couchdb/server/main.js\", 1475))"}
我摆弄着这个动作=。。。属性,甚至像这样放置绝对地址:

{
updates: {
    postForm: function(previous, request) {

        /* during development and testing you can write data to couch.log
    log({"previous": previous})
    log({"request": request})
    */
    var doc = {}
    if (!previous) {
            // there's no existing document _id as we are not using PUT
            // let's use the email address as the _id instead
            if (request.form && request.form.email) {
                // Extract the JSON-parsed form from the request
                // and add in the user's email as docid
                doc = request.form
                doc._id = request.form.email
            }
        }
        return [doc, toJSON({
            "request": request,
            "previous": previous,
            "doc": doc
        })]
    }
}
}
http://localhost:5984/mydatabase...
我已经用JSON.stringify替换了toJSON

我重新启动了这个过程,并重新完成了这个项目。无济于事

我有一种明显的感觉,我已经失明了,解决办法可能就在我眼前,但我看不见。POST http请求似乎没有问题,因为在我尝试AJAX忘记内容类型时,服务器曾经抱怨过,但这次似乎是内部服务器问题。我也不知道。真的


总之,问题是:有人能帮我吗?请。

我会回答我自己的问题,同时请那些浪费时间的人原谅我


我所做的是,我通读并理解范围的概念是如何适用于这种情况的。这是一个在更新处理程序上使用导出的问题,因此可以通过访问它。我将回答我自己的问题,同时向那些浪费时间的人请求原谅


我所做的是,我通读并理解范围的概念是如何适用于这种情况的。这是一个在更新处理程序上使用导出的问题,因此可以通过来访问它。我也遇到了这个错误,正如@Pea pod所暗示的,导致它的原因是没有在couchapp的设计文档中正确定义导出。在我们的例子中,它是无法调用的as list函数,而是显示了一个500错误,类型为error,并且在couchdb日志中未定义point

我们使用app.js,在app.js中我们不需要列表文件。我们有:

module.exports = {
    rewrites: require('./rewrites'),
    views: require('./views'),
    shows: require('./shows')
};
将其更改为以下选项解决了问题:

module.exports = {
    rewrites: require('./rewrites'),
    views: require('./views'),
    shows: require('./shows'),
    lists: require('./lists')
};

我可以建议主持人将此问题的标题改为包含point is undefined,这是发生此类错误时CouchDB日志中显示的错误,以帮助其他人更容易地找到它吗?

正如@Pea pod所暗示的,我也遇到了此错误,以及是什么原因导致了此错误,未在couchapp的设计文档中正确定义导出。在我们的例子中,它是无法调用的as list函数,而是显示了一个500错误,类型为error,并且在couchdb日志中未定义point

我们使用app.js,在app.js中我们不需要列表文件。我们有:

module.exports = {
    rewrites: require('./rewrites'),
    views: require('./views'),
    shows: require('./shows')
};
将其更改为以下选项解决了问题:

module.exports = {
    rewrites: require('./rewrites'),
    views: require('./views'),
    shows: require('./shows'),
    lists: require('./lists')
};

我可以建议主持人将此问题的标题更改为包含point is undefined(未定义的点),这是发生此类错误时CouchDB日志中显示的错误,以便帮助其他人更容易地找到它吗?

我知道这是一个很长的描述。正如我在这个网站上读到的各种帖子一样,我发现最常见的评论是,问题/描述含糊不清,需要详细说明。所以我做了。是不是太长了?我是不是应该少问一点来得到答案?我知道这是个老问题,但既然你问了:是的。请减少描述。只包括相关细节。我为你做了一些编辑。我知道这是一个很长的描述。正如我在这个网站上读到的各种帖子一样,我发现最常见的评论是,问题/描述含糊不清,需要详细说明。所以我做了。是不是太长了?我是不是应该少问一点来得到答案?我知道这是个老问题,但既然你问了:是的。请减少描述。只包括相关细节。我已经为你做了一些编辑。谢谢你。我遇到了同样的问题,你的回答将帮助我找到如何解决它!谢谢你。我遇到了同样的问题,你的回答将帮助我找到如何解决它!