2014-05-19 2 views
0

Я разрабатываю приложение для Windows 8 с помощью Javascript. Я использую 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'. Я спрашиваю, если, когда вы нажимаете URL CouchDb с именем базы данных и идентификатором для вещи, что-нибудь появляется? Успешен ли сетевой запрос? – TheDude

ответ

0

IE агрессивно кэширует, и, поскольку запрос тот же, второй раз он просто дает вам результат с первого раза.

Это было исправлено в jquery.couch.js, но не в couch.js.

Исправление состоит в том, чтобы добавить что-то к концу запроса, что делает его уникальным.

Я сделал «? _ =» + Date.now().

Смежные вопросы