Skonfigurowałem lokalną bazę danych CouchDB i chciałbym ją powielić do bazy danych PouchDB, używając JavaScript na stronie internetowej uruchomionej na localhost.Jak skopiować z CouchDB do PouchDB?
Z poniższy kod otrzymuję ten błąd:
Origin
http://localhost
is not allowed by Access-Control-Allow-Origin.
Z http://
usunąć z odległych, nie pojawia się błąd, ale nie docs są pokazane jako replikowane.
Przeglądając bazy danych IndexedDB z Chrome DevTools, widzę, że baza danych została utworzona (ale nie ma dokumentów).
Działa w Chrome kanale 29.0.1535.2.
Czy mogę to zrobić lokalnie, czy muszę skonfigurować zdalną bazę danych CouchDB i włączyć CORS (zgodnie z CouchDB docs)?
var REMOTE = 'http://127.0.0.1:5984/foo';
var LOCAL = 'idb://foo';
Pouch(LOCAL, function(error, pouchdb){
if (error) {
console.log("Error: ", error);
} else {
var db = pouchdb;
Pouch.replicate(REMOTE, LOCAL, function (error, changes) {
if (error) {
console.log('Error: ', error);
}
else {
console.log('Changes: ', changes);
db.allDocs({include_docs: true}, function(error, docs) {
console.log('Rows: ', docs.rows);
});
}});
}
});
Czy mogę włączyć CORS dla serwera CouchDB na localhost? Próbowałem umożliwiając CORS z Futon (httpd> cors na true i cors> credentials true i false), ale wciąż dostaję błędy: 'OPCJE http://127.0.0.1:5984/presentations/ 405 (Metoda niedozwolona) pouchdb-nightly. min.js: 1 OPCJE http://127.0.0.1:5984/presentations/ Początek http: // localhost jest niedozwolony przez Access-Control-Allow-Origin. pouchdb-nightly.min.js: 1 XMLHttpRequest nie może załadować http://127.0.0.1:5984/foo/. Początek http: // localhost jest niedozwolony przez Access-Control-Allow-Origin. localhost/node/foo /: 1 ... Object {status: 0} ' –
Na localhost nie powinno być inaczej. Może spróbuj ponownie uruchomić Couch po ustawieniu 'httpd> enable_cors = true' w config? – chesles
Dzięki @chesles - dobra sugestia, ale próbowałem ponownie uruchomić CouchDB (i maszynę, na której działa!), Ale nadal pojawia się błąd pochodzenia krzyżowego: 'XMLHttpRequest nie może załadować http://127.0.0.1:5984/foo/. Początek http: // localhost jest niedozwolony przez Access-Control-Allow-Origin. "Sprawdziłem Futon przy restarcie: httpd> enable_cors jest prawdziwe –