La manera más fácil que he encontrado para resolverlo es mediante el uso localmente instalado servidor Web Apache con activado módulo mod_proxy y configurado ProxyPass Directiva.
deje que se inicie con la configuración básica
index.html tiene el siguiente contenido
<html>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
var http = XMLHttpRequest();
http.open('GET', 'http://127.0.0.1:5984/_all_dbs', true); // ! WE WILL CHANGE THIS LINE
http.onreadystatechange = function() {
if (http.readyState == 4 && http.status == 200) {
console.debug('it works');
}
};
http.send(null)
</script>
<head><title>Test Access to CouchDB</title></head>
<body>
</body>
</html>
Si lo intenta ahora no funcionará debido al problema de dominios (en este caso, los puertos no coinciden con 8181! = 5984) .
Cómo solucionarlo
- configurar Apache (APACHE_HOME/conf/httpd.conf)
- uncomment
LoadModule proxy_module modules/mod_proxy.so
- uncomment
LoadModule proxy_http_module modules/mod_proxy_http.so
- añadir
ProxyPass /couchdb http://127.0.0.1:5984
(como se propiedad de nivel superior Y como ServerAdmin)
- reiniciar Apache
- modificar índice.html
- reemplazar
http.open('GET', 'http://127.0.0.1:5984/_all_dbs', true);
con http.open('GET', '/couchdb/_all_dbs', true);
Pruebe ahora y debería ver 'funciona' de salida en la consola de Javascript (utilicé Firebug consola)
Lamentablemente, el enlace está muerto por ahora y vuelve a colocar una página de error 404. – MKroehnert
@MKroehnert Oh. Y me está volviendo loco que ni siquiera puedo recordar lo que quería hacer hace tres años. – Eonil