Синхронизировать с живым: false

У меня есть работающая копия Руководства по началу работы. Он отлично синхронизируется с сервером CouchDB (на сайте Couchappy.com). Все идет нормально.

Мне нужно, чтобы синхронизация происходила только с действием пользователя (т.е. пользователь нажимает кнопку). Поэтому я добавил кнопку в разметку и привязал событие щелчка к той же функции "sync()", что и в Руководстве по началу работы. Наконец, я изменил две «живые» опции с «true» на «false».

Независимо от того, меняю ли я значения на клиенте, сервере или нигде, когда я нажимаю кнопку, она вызывает функцию синхронизации, и я получаю сообщение об ошибке как для replicate.to, так и для replicate.from. Должно быть, мне не хватает базовой концепции PouchDB. Может ли кто-нибудь помочь мне понять, как заставить репликацию работать, а не «жить»?

Заранее спасибо.


person jeffm    schedule 19.05.2014    source источник


Ответы (1)


Это зависит от того, в чем ваша ошибка, но, скорее всего, вам нужно включить CORS. Проверьте это руководство, выполните поиск "CORS".

Если это не сработает, опубликуйте свою ошибку здесь вместе с версией PouchDB, которую вы используете.

Кроме того, live по умолчанию равно false, поэтому вам вообще не нужно его упоминать. :)

person nlawson    schedule 19.05.2014
comment
Спасибо заранее за вашу помощь. Я запустил отладчик и посмотрел значения, возвращаемые db.replicate.to и db.replicate.from. Оба они вызывают метод syncError (определенный в примере), но при просмотре возвращаемых значений единственной ошибкой, которую я могу найти, является ThrowTypeError, но никакой дополнительной информации о ней. Я также дважды проверил все настройки CORS, и они соответствуют информации, предоставленной в ссылке, которую вы отправили. Когда я изменяю параметр Live на true, он отлично синхронизируется как с сервером, так и с ним. - person jeffm; 20.05.2014
comment
В каком браузере тестируете? Или вы тестируете в Node.js? - person nlawson; 22.05.2014