1

我正在关注IBM 关于 CouchDB 的教程,但在保存已编辑文档时遇到了问题。保存文档可以正常工作,看起来我所有现有文档的值(通过openDoc函数检索)都是有效的,但新值根本没有采用。

当我跟踪执行代码时,看起来新值在那里:

在此处输入图像描述

但是,saveDoc 成功返回后(奇怪!),文档没有更新。如果我记录更新的文档,则记录的对象没有_id_rev值,尽管您可以清楚地看到它们在保存时存在(见第一个屏幕截图)。

在此处输入图像描述

是否有一些我不理解的细微差别saveDoc,或者Evently ?

4

1 回答 1

0

在您的success回调中,您没有记录更新的文档,而是newdoc从第 87 行记录对象(减去它通过saveDoc函数,显然未定义_id_rev,但没关系)。

success回调可以有一个参数,即来自服务器的响应。如果你写:

success: function(data) {
    console.log(data);
}

您应该在响应中看到一个_rev2-.

如果您真的想在更新后查看完整的文档,只需openDoc从您的success回调中调用以获取更新的版本。


其他细节,当你说

saveDoc 成功返回

我认为您的意思success是调用了回调,因为saveDoc它是异步的,并且无论如何都应该立即返回。

于 2012-03-10T18:40:19.623 回答