Ho creato un database CouchDB locale e mi piacerebbe replicarlo su un database PouchDB, utilizzando JavaScript in una pagina Web in esecuzione su localhost.Come replicare da CouchDB a PouchDB?
Con il codice sotto ottengo questo errore:
Origin
http://localhost
is not allowed by Access-Control-Allow-Origin.
Con http://
rimossa dal REMOTE, non ottengo un errore, ma non documenti sono mostrati come replicati.
Guardando i database IndexedDB da Chrome DevTools, posso vedere che il database è stato creato (ma non sembra avere documenti).
In esecuzione in Chrome 29.0.1535.2 canarino.
Posso farlo localmente oppure devo impostare un database CouchDB remoto e abilitare CORS (come da 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);
});
}});
}
});
Posso abilitare CORS per un server CouchDB su localhost? Ho provato a abilitare CORS da Futon (httpd> cors a true e cors> credenziali sia true che false) ma ottenendo ancora errori: 'OPTIONS http://127.0.0.1:5984/presentations/ 405 (Method Not Allowed) pouchdb-nightly. min.js: 1 OPZIONI http://127.0.0.1:5984/presentations/ Origine http: // localhost non è consentito da Access-Control-Allow-Origin. pouchdb-nightly.min.js: 1 XMLHttpRequest non può caricare http://127.0.0.1:5984/foo/. Origine http: // localhost non è consentito da Access-Control-Allow-Origin. localhost/node/foo /: 1 ... Object {status: 0} ' –
Non dovrebbe essere diverso su localhost. Forse prova a riavviare Couch dopo aver impostato 'httpd> enable_cors = true' nella configurazione? – chesles
Grazie a @chesles - buon suggerimento, ma ho provato a riavviare CouchDB (e la macchina sta funzionando!) Ma otteniamo comunque l'errore di origine incrociata: 'XMLHttpRequest non può caricare http://127.0.0.1:5984/foo/. Origine http: // localhost non è consentito da Access-Control-Allow-Origin. Ho riavviato Futon al riavvio: httpd> enable_cors è vero –