2010-09-05 4 views
2

Je ne peux pas accéder à mon serveur CouchDB (CouchDBX) en utilisant un appel jQuery AJAX.jQuery et CouchDBX - _all_docs - HTTP 200 mais aucune donnée n'est renvoyée à la fonction de succès

Je peux accéder à ma base de données de démonstration au localhost:5984/helloworld/_all_docs via les navigateurs (testé avec FireFox, Chrome et Safari). Mais quand je fais un simple appel AJAX en utilisant jQuery, je ne reçois aucune donnée.

Les demandes avec le code 200. termine


Voici ce que mon appel AJAX ressemble:

$(function() 
{ 
    $.ajax(
    { 
     cache: false, 
     dataType: "json", 
     error: function (xmlHttpRequest, textStatus, errorThrown) 
     { 
      console.log("error", xmlHttpRequest, textStatus, errorThrown); 
     }, 
     global: false, 
     success: function (data, textStatus, xmlHttpRequest) 
     { 
      console.log("success", data, textStatus, xmlHttpRequest); 
     }, 
     timeout: 3000, 
     url: "http://localhost:5984/helloworld/_all_docs" 
    }); 
}); 

Qu'est-ce que je fais mal?


Mise à jour

Captures d'écran de la console Firebug:

http://grab.by/6fkS

http://grab.by/6fkX

http://grab.by/6fkY

+0

Pouvez-vous nous donner la sortie de 'console.log ("succès", les données, textStatus, xmlHttpRequest);'? – adamse

+0

Captures d'écran téléchargées – roosteronacid

+0

Etes-vous sûr que Safari ne fonctionnait pas? Il est généralement plus permissif à propos des requêtes interdomaines lors de l'hébergement à partir du système de fichiers (ce que je suppose que vous faites). J'ai juste essayé, et Safari retourne deux documents de test que j'ai créés (en utilisant CouchDBX). – user113716

Répondre

0
+0

Oui. Juste couru votre code dans Chrome, qui a jeté une erreur: XMLHttpRequest ne peut pas charger http://127.0.0.1:5984/db/_all_docs?_=1283713669140. L'origine nulle n'est pas autorisée par Access-Control-Allow-Origin. –

+0

J'ai donc besoin d'avoir un serveur HTTP en cours d'exécution, et d'y lancer mes pages au lieu de simplement les ouvrir à partir du disque? Cela résoudrait-il mes problèmes de même origine? – roosteronacid

+0

Téléchargez-les en tant que pièces jointes de document et les frapper à partir du navigateur de cette façon. (C'est comme cela que CouchApps le fait.) Ainsi, vous diffusez des pages et des données provenant de la même origine. –

Questions connexes