我正在关注IBM 关于 CouchDB 的教程,但在保存已编辑文档时遇到了问题。保存新文档可以正常工作,看起来我所有现有文档的值(通过openDoc
函数检索)都是有效的,但新值根本没有采用。
当我跟踪执行代码时,看起来新值在那里:
但是,saveDoc
成功返回后(奇怪!),文档没有更新。如果我记录更新的文档,则记录的对象没有_id
或_rev
值,尽管您可以清楚地看到它们在保存时存在(见第一个屏幕截图)。
是否有一些我不理解的细微差别saveDoc
,或者Evently ?
在您的success
回调中,您没有记录更新的文档,而是newdoc
从第 87 行记录对象(减去它通过saveDoc
函数,显然未定义_id
和_rev
,但没关系)。
success
回调可以有一个参数,即来自服务器的响应。如果你写:
success: function(data) {
console.log(data);
}
您应该在响应中看到一个_rev
以2-
.
如果您真的想在更新后查看完整的文档,只需openDoc
从您的success
回调中调用以获取更新的版本。
其他细节,当你说
saveDoc
成功返回
我认为您的意思success
是调用了回调,因为saveDoc
它是异步的,并且无论如何都应该立即返回。