Приложение Ionic для репликации PouchDB в CouchDB

Яm writting Ionic app. Iм использую PouchDB в качестве локального хранилища и хочу реплицировать эти данные на удаленный сервер CouchDB iriscouch.com, но не могу заставить его работать. Когда я пытаюсь реплицировать базу данных, я получаю сообщение об ошибке, показанное ниже. Если я запускаю сервер локально на своем ноутбуке, он работает (без учетных данных - сторона администратора).

var db = new PouchDB('db');

db.replicate.to('https://username:[email protected]:5984/db', {xhrFields:{withCredentials:true}})
        //.on('change', function (info) {
            // handle change
          //  console.log("change");
        //    console.log(info);
        .on('uptodate', function (info) {
            // handle up-to-date
            console.log("uptodate");
            console.log(info);
        }).on('error', function (err) {
            // handle error
            console.log("error");
            console.log(err);
        });

ВАРИАНТЫ https://username.iriscouch.com:5984/db/?_nonce=VFSibfdoxcnjKz3V сеть::ERR_CONNECTION_CLOSED pouchdb.js:5150

CustomPouchError {сообщение: не определено, статус: 405, statusText: «Метод не разрешен», имя: «unknown_error», ошибка: правда…} services.js:24

Настройки моего CouchDB

curl -X PUT $HOST/_config/httpd/enable_cors -d '"true"'
curl -X PUT $HOST/_config/cors/origins -d '"*"'
curl -X PUT $HOST/_config/cors/credentials -d '"true"'
curl -X PUT $HOST/_config/cors/methods -d '"GET, PUT, POST, HEAD, DELETE"'
curl -X PUT $HOST/_config/cors/headers -d '"accept, content-type, origin, referer"'

Чтобы это работало:

var remoteUrl = 'https://username.iriscouch.com/dbname' 
var remote = new PouchDB(remoteUrl, {
Auth: {
    username: 'username',
    password: 'password'
},
live:true,
withCredentials: true

});


person user3676101    schedule 21.10.2014    source источник


Ответы (2)


405 — ошибка CORS; это означает, что вы все еще неправильно настроили CORS. Вы пробовали это? https://github.com/pouchdb/add-cors-to-couchdb

person nlawson    schedule 21.10.2014

У меня была та же проблема, и я смог ее исправить, добавив «x-csrf-token» в конфигурацию headers в разделе cors файла конфигурация iriscouch.

Это делает мою конфигурацию заголовков:

заголовки: принять, авторизация, реферер, источник, x-csrf-токен, тип контента

Я надеюсь, что это поможет кому-то еще.

person Moghammed    schedule 09.11.2014
comment
где это находится? - person bryan; 17.09.2016