2014-05-19 42 views
0

我正在为使用Javascript的Windows 8开发应用程序。我使用couchDB作为couch.js包装器的数据提供者。couch.js allDocs()总是返回相同的结果

如果我访问我的现有数据库“测试”是这样的:

CouchDB.urlPrefix = "http://127.0.0.1:5984"; 
var db = new CouchDB("test"); 
var docs = db.allDocs(); 
var changes = db.changes(); 
var thing = {}; 
db.save(thing); 
var docs2 = db.allDocs(); 
var changes2 = db.changes(); 

然后文档== docs2和变化== changes2,尽管“物”被正确保存。这对我来说并不合适。我究竟做错了什么?我通过了couch.js方法,他们似乎正在生成正确的请求。

+0

couch.js缓存结果?你能否证实,如果你去'http://127.0.0.1:5984/test/ '那个文件存在? – TheDude

+0

是的,保存功能正常工作。我可以在浏览器中使用断点进行确认。 – methusalem

+0

我不是指'save'方法。我在问,当你点击数据库名称和ID的CouchDb URL时,是否出现任何内容?网络请求是否成功? – TheDude

回答

0

IE积极缓存,并且由于请求是相同的第二次它只是给你第一次的结果。

这已在jquery.couch.js中修复,但未在couch.js中修复。

修复方法是将某些内容附加到使其唯一的请求末尾。

我做了“?_ =”+ Date.now()。