2

Je suis nouveau à Couch DB. Je l'ai installé sur mon CouchDB dossier de base sur notre serveur universitaire qui ressemble à ...Comment accéder à CouchDB en utilisant JavaScript? Erreurs SOP

http://servername.com/home/users/roby 

Le Db est en cours d'exécution sur le port 1234 et cela fonctionne très bien. J'ai pu remplir la base de données en utilisant le pilote Couch4J pour Java en utilisant un tunnel SSH de ma machine.

Je suis en train de développer une application web qui a besoin des données stockées sur la base de données. Supposons que j'ai un fichier index.html situé à

http://servername.com/home/users/roby/public_html/index.html 

qui traduit à

http://servername.com/~roby/index.html 

Lors de l'émission d'une simple demande, je suis des erreurs étranges telles que

XMLHttpRequest cannot load http://xxxxxxx:1234/. 
Origin http://servername.com is not allowed by Access-Control-Allow-Origin. 

Le code I J'utilise pour essayer d'obtenir une réponse de la DB est la suivante

$.couch.urlPrefix = "http://xxxxxxx:1234"; 

$.couch.info({ 
    success: function(data) { 
     console.log(data); 
    } 
}); 

Toute aide est appréciée.

Merci.

RM

Répondre

3

Vous avez trois choix.

  1. Vous pouvez proxy CouchDB avec, disons Nginx, de sorte que vous pouvez utiliser html à partir du même port que CouchDB.
  2. Vous pouvez utiliser html à partir de CouchDB lui-même, en l'attachant à un document (le plus simple est d'utiliser CouchApp ou similaire).
  3. Enfin, vous pouvez activer les réponses jsonp dans CouchDB et ajouter calback param pour interroger, jQuery prend en charge les réponses jsonp.

Si vous ne pouvez pas modifier la configuration du serveur, les options 1 et 3 sont désactivées. Pour ce qui est numéro deux, vous pouvez au niveau le plus bas ajouter des pièces jointes utilisant des requêtes vente:

curl -X PUT http://xxxx:1234/dbname/docname/index.html --data-binary @index.html -H "Content-Type: text/html" 

Vous devez télécharger le fichier après chaque changement, il est donc pas vraiment pratique de le faire à la main. Il existe des outils tels que CouchApp ou Kenso pour vous aider.

+0

Merci pour la réponse. Et si je n'avais pas le droit d'installer CouchApp sur mon serveur? Comment puis-je joindre manuellement des documents HTML aux documents CouchDB? J'ai juste besoin de trois vues, que j'ai déjà créées avec Futon. Suggérez-vous de procuration dans ce cas? – RMinelli

+0

@RMinelli Bonjour, j'ai élargi ma réponse, j'espère que c'est plus clair maintenant. – Slartibartfast

+0

Merci beaucoup! Je vais essayer ça, maintenant je l'ai mis comme un travail secondaire dans mon développement! – RMinelli

Questions connexes