Ich habe eine lokale CouchDB-Datenbank eingerichtet und möchte sie in eine PouchDB-Datenbank replizieren, indem ich JavaScript in einer Webseite verwende, die auf localhost läuft.Wie repliziert man von CouchDB zu PouchDB?
Mit dem folgenden Code bekomme ich diesen Fehler:
Origin
http://localhost
is not allowed by Access-Control-Allow-Origin.
Mit http://
von FERN entfernt, habe ich nicht einen Fehler, aber keine Dokumente werden als repliziert gezeigt.
Wenn ich IndexedDB-Datenbanken von Chrome DevTools betrachte, kann ich sehen, dass die Datenbank erstellt wurde (scheint aber keine Dokumente zu enthalten).
In Chrome ausgeführt 29.0.1535.2 Kanarienvogel.
Kann ich dies lokal tun, oder muss ich eine Remote-CouchDB-Datenbank einrichten und CORS aktivieren (gemäß der 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);
});
}});
}
});
Kann ich CORS für einen CouchDB-Server auf localhost aktivieren? Versucht, CORS von Futon zu aktivieren (httpd> cors zu true und cors> credentials true und false), aber immer noch Fehler: 'OPTIONS http://127.0.0.1:5984/presentations/ 405 (Methode nicht erlaubt) pouchdb-nightly. min.js: 1 OPTIONEN http://127.0.0.1:5984/presentations/ Herkunft http: // localhost ist nicht erlaubt von Access-Control-Allow-Origin. pouchdb-nightly.min.js: 1 XMLHttpRequest kann http://127.0.0.1:5984/foo/ nicht laden. Origin http: // localhost ist nicht erlaubt von Access-Control-Allow-Origin. localhost/node/foo /: 1 ... Objekt {status: 0} ' –
Das sollte auf localhost nicht anders sein. Vielleicht versuchen Sie die Couch neu zu starten, nachdem Sie in der Config "httpd> enable_cors = true" eingestellt haben. – chesles
Danke @chesles - guter Vorschlag, aber versucht, CouchDB (und die Maschine, auf der es läuft!) Neu zu starten, aber immer noch den Kreuzursprungsfehler: 'XMLHttpRequest kann http://127.0.0.1:5984/foo/ nicht laden. Origin http: // localhost ist nicht erlaubt von Access-Control-Allow-Origin. Ich habe Futon beim Neustart eingecheckt: httpd> enable_cors is true –