2010-10-25 9 views
0

Essayer de faire une demande JSONP à yellowapi (Pages Jaunes), même en spécifiant un rappel me donne l'erreur "label invalide". Voici ce que j'ai jusqu'à présent:JSONP ne recevant aucun rappel?

$.ajax({ 
dataType: 'jsonp', 
cache : false, 
url: "http://api.sandbox.yellowapi.com/FindBusiness/", 
data : "apikey="+testingPurposes+"&what="+what+"&where="+where+" 
    &fmt=JSON&pgLen=1&UID=127.0.0.1&callback=?", 
success: function (data) { 
    alert(data) 
} 
}); 

Il renvoie le bon résultat au format JSON, mais il n'a pas la fonction de rappel « de json12345678 » au début. Me donner une erreur "étiquette invalide".

Quelles sont mes options pour résoudre ce problème?

P.S. Toutes les variables sont définies, apikey sera supprimé plus tard.

+0

À quoi ressemble la réponse? Sans clé API, il est difficile de tester celui-ci. –

+0

Il revient à l'air normal JSON –

Répondre

2

S'il ne dispose pas du callback au démarrage, ce serait un problème avec l'API que vous consommez, et non un problème avec votre code. Avez-vous confirmé qu'il supporte JSONP?

+0

Je pensais que, mais je ne savais pas s'il y avait un moyen de contourner cela. Je n'ai pas confirmé que c'est un rappel, mais à ce stade, je suppose non. –

0

Les docs disent que les formats pris en charge sont json et XML, pas jsonp. Vous pouvez ensuite avoir des difficultés à consommer ces données en raison des restrictions de script intersite intégrées aux navigateurs. (Quand j'ai dû faire ce genre de chose avant de générer un service de proxy sur mon propre serveur qui envoie les requêtes à yellowapi.com depuis PHP, car PHP n'a pas ces restrictions inter-site)

+3

Un autre avantage de faire la demande à partir de votre propre serveur est que vous n'avez pas besoin de rendre le public apikey - sinon n'importe quel utilisateur de votre page peut voir l'apikey - pas bon. –

+0

J'espérais supprimer PHP, mais dans le pire des cas, je devrais aller dans cette direction. –

+0

Je suis d'accord, c'était juste à des fins de test, je n'aurais jamais laissé l'apikey là –

Questions connexes