La meilleure façon que je trouve pour le résoudre est à l'aide installé localement Apache Web Server avec permis Module mod_proxy et configuré ProxyPass directive.
Laisser commencer par la configuration de base
index.html a le contenu suivant
<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 vous essayez tout à l'heure, il ne fonctionnera pas à cause du problème de domaine transversal (dans ces ports d'instance ne correspondent pas 8181! = 5984) .
Comment réparer
- configure Apache (APACHE_HOME/conf/httpd.conf)
- uncomment
LoadModule proxy_module modules/mod_proxy.so
- uncomment
LoadModule proxy_http_module modules/mod_proxy_http.so
- ajouter
ProxyPass /couchdb http://127.0.0.1:5984
(comme propriété de haut niveau y comme ServerAdmin)
- redémarrage Apache
- modifier index.html
- remplacer
http.open('GET', 'http://127.0.0.1:5984/_all_dbs', true);
avec http.open('GET', '/couchdb/_all_dbs', true);
Essayez maintenant et vous devriez voir 'cela fonctionne' sortie dans la console javascript (je Firebug Console)
Malheureusement, le lien est mort maintenant et renvoie une page d'erreur 404. – MKroehnert
@MKroehnert Oh. Et ça me rend dingue que je ne puisse même pas me souvenir de ce que je voulais faire il y a trois ans. – Eonil