the resource requested razón present origin faltante example error encabezado enable control allow javascript html5 couchdb pouchdb

javascript - resource - cómo agregar cors en couchDB-No hay ningún encabezado ''Access-Control-Allow-Origin'' presente en el recurso solicitado



jquery no access control allow origin (7)

Estoy tratando de crear un archivo html que sincronice los datos de pouchDb a couchDb ..but iam obteniendo el siguiente error en la consola de Chrome.

No se detectó TypeError: no se puede llamar al método ''addEventListener'' de nulo

OPCIONES http://localhost:5984/todos/ 405 (Método no permitido)

OPCIONES http://localhost:5984/todos/ No hay encabezado ''Access-Control-Allow-Origin'' presente en el recurso solicitado. Por lo tanto, el origen '' http: // localhost: 8080 '' no tiene permitido el acceso. XMLHttpRequest no puede cargar http://localhost:5984/todos/ . No hay ningún encabezado ''Access-Control-Allow-Origin'' presente en el recurso solicitado. Por lo tanto, el origen '' http: // localhost: 8080 '' no tiene permitido el acceso. OPCIONES http://localhost:5984/todos/ No hay encabezado ''Access-Control-Allow-Origin'' presente en el recurso solicitado. Por lo tanto, el origen '' http: // localhost: 8080 '' no tiene permitido el acceso. pouchdb-nightly.js: 3496 OPCIONES http://localhost:5984/todos/ No el encabezado ''Access-Control-Allow-Origin'' está presente en el recurso solicitado. Por lo tanto, el origen '' http: // localhost: 8080 '' no tiene permitido el acceso. pouchdb-nightly.js: 3496 XMLHttpRequest no puede cargar http://localhost:5984/todos/ . No hay ningún encabezado ''Access-Control-Allow-Origin'' presente en el recurso solicitado. Por lo tanto, el origen '' http: // localhost: 8080 '' no tiene permitido el acceso.

He encontrado una manera de evitar este problema. Es decir, tengo que abrir Chrome con el siguiente comando: cd C: / Archivos de programa (x86) / Google / Chrome / Application Chrome.exe --disable-web-security.Pero esto no resolvió el problema. Vi muchas preguntas similares aquí. Pero no entendí ninguna respuesta porque soy relativamente nuevo en este campo.



De esta documentación :

Para habilitar el soporte de CORS, debe configurar la opción enable_cors = true en la sección [httpd] de local.ini , y agregar una sección [cors] que contenga una configuración de origins = * . Tenga en cuenta que de forma predeterminada, no se aceptan orígenes; debe utilizar un comodín o una lista blanca.

[httpd] enable_cors = true [cors] origins = *



La respuesta aceptada no resuelve mi problema. Lo que hice es ...

actualizar local.ini (/ ubicación de instalación / CouchDB / etc / couchdb)

[httpd] enable_cors = true [cors] origins = * credentials = true methods = GET, PUT, POST, HEAD, DELETE headers = accept, authorization, content-type, origin, referer, x-csrf-token

Luego abra CMD en modo administrador y ejecute -

net.exe stop "Apache CouchDB" && net.exe start "Apache CouchDB"

*** Solo para usuarios de Windows


Para usuarios de Windows, vaya a la carpeta de instalación de apache (C: / Archivos de programa (x86) / Apache Software Foundation / CouchDB / etc / couchdb) <- estuvo aquí para mí, y actualice el archivo local.ini con los detalles a continuación. .funcionó un encanto para mí, gracias chicos

[cors] credentials: true headers: accept, authorization, content-type, origin, referer, cache-control, x-requested-with methods: GET,PUT,POST,HEAD,DELETE origins: * [httpd] enable_cors = true

Obviamente, reinicie el servicio de apache couchdb para completar :)


Sección CORS en couchdb:

credentials: true headers: accept, authorization, content-type, origin, referer, cache-control, x-requested-with methods: GET,PUT,POST,HEAD,DELETE origins: *

Aviso x-requested-with


Según el comentario de @szydan, en el caso de que su administrador de paquetes aún tenga la versión 1.2, que no es compatible con OPCIONES DE CORS, debe instalarlo desde la fuente.

echo "deb http://binaries.erlang-solutions.com/debian `lsb_release -cs` contrib" | tee /etc/apt/sources.list.d/erlang-solutions.list wget -O - http://binaries.erlang-solutions.com/debian/erlang_solutions.asc | apt-key add - echo "deb http://packages.cloudant.com/debian `lsb_release -cs` main" | tee /etc/apt/sources.list.d/cloudant.list wget http://packages.cloudant.com/KEYS -O - | apt-key add - apt-get update -y apt-get install -y erlang-nox erlang-dev apt-get install -y build-essential apt-get install -y erlang-nox apt-get install -y libmozjs185-cloudant libmozjs185-cloudant-dev apt-get install -y libnspr4 libnspr4-0d libnspr4-dev libcurl4-openssl-dev curl libicu-dev useradd -d /var/lib/couchdb couchdb mkdir -p /usr/local/{lib,etc}/couchdb /usr/local/var/{lib,log,run}/couchdb /var/lib/couchdb chown -R couchdb:couchdb /usr/local/{lib,etc}/couchdb /usr/local/var/{lib,log,run}/couchdb chmod -R g+rw /usr/local/{lib,etc}/couchdb /usr/local/var/{lib,log,run}/couchdb http://www.apache.org/dyn/closer.cgi?path=/couchdb/source/ tar xzf apache-couchdb-*.tar.gz cd apache-couchdb-* ./configure --prefix=/usr/local --with-js-lib=/usr/lib --with-js-include=/usr/include/mozjs --enable-init make && sudo make install sudo ln -s /usr/local/etc/init.d/couchdb /etc/init.d/couchdb sudo /etc/init.d/couchdb start sudo update-rc.d couchdb defaults #check if it runs curl http://127.0.0.1:5984/

Es posible que necesite instalar las dependencias de SpiderMonkey y jsapi