2010-07-15 3 views
0

Ma question est spécifique à l'API oodle.L'appel JQuery à l'API oodle ne renvoie rien?

Je suis en train d'appeler API oodle pour obtenir le résultat JSON comme ceci:

$.getJSON("http://api.oodle.com/api/v2/listings?key=TEST&region=sf&category=sale&format=json&mappable=address&jsoncallback=none", function (data) { 
    alert(data); 
} 

Répondre

1

Vous ne pouvez pas effectuer de demande de domaine croisé (XSS). Vous devrez utiliser JSONP en modifiant le paramètre jsoncallback de votre requête à jsoncallback=? au lieu de none. The latest version of jquery will then handle JSONP correctly.

Les spécifications API oodle mentions jsoncallback: http://developer.oodle.com/listings

+0

Salut J'utilise jquery 1.4.2 et j'ai essayé de faire la même chose que vous avez dit, mais dans Firebug, il montre une erreur. Je ne sais pas quoi faire? Voici le code. $ (document) .ready (function() { $ .getJSON ("http://api.oodle.com/api?key=TEST®ion=sf&category=sale&format=json&mappable=address&jsoncallback=?", Fonction (données) { $ .each (éléments de données, fonction (i, élément) { // action }); }); }); Je ne sais pas pourquoi ça ne marche pas? – user393014

+0

Je l'ai essayé quiclky et FireBug a montré une réponse 500 du serveur. Si vous regardez la réponse, c'est une page blanche avec le modèle Oodle. Il me semble que la requête a été correctement traitée, mais Oodle a eu un problème avec ça. Cela pourrait être parce que key = TEST, mais je ne sais pas. Peut-être que quelqu'un chez Oodle peut vous aider. Pardon. – Adam

+0

Merci pour les efforts Adam. Je me doutais et il est devenu vrai parce que j'accédais de localhost il pourrait ne pas obtenir de réponse et quand j'ai déployé cette page de test sur mon site d'hôte il a obtenu .. peut-être à cause de la confiance de domaine. merci beaucoup quand même. – user393014

1
$.getJSON("http://api.oodle.com/api/v2/listings?key=TEST&region=sf&category=sale&format=json&mappable=address&jsoncallback=?", function (data) { 
    alert(data); 
}); 

Il utilise JSONP. Le ? indique à jQuery où insérer le nom du rappel. Vous n'en avez pas, ce qui est incorrect. De plus, il vous manquait une bonne paren.

+0

Merci pour la réponse. Mais dans oodle api ils ont dit que vous pouvez donner votre nom ou pas. Je n'en ai donné aucun. Désolé de demander mais quelle parenthèse droite j'ai oublié. – user393014

+0

Vous ne pouvez pas utiliser aucun à cause des restrictions inter-domaines; vous devez utiliser JSONP. Le paren était celui qui fermait la méthode. –

Questions connexes