2010-05-12 6 views
4

J'ai beaucoup lu à ce sujet et je n'arrive pas à le comprendre. Cela n'a rien à voir avec mon code, il a un rapport avec le flux ou quelque chose, parce que si je l'échange avec un flux Twitter, il renvoie un objet Object qui est parfait.Erreur d'étiquette non valide avec la requête JSON

$.getJSON('http://rockbottom.nozzlmedia.com:8000/api/portland/?count=1&callback=?',function(json){ 
    console.log(json) 
}); 

Et j'obtiens une erreur "étiquette invalide". Des idées?

En outre, une note de côté, je l'ai essayé la méthode AJAX ainsi:

$.ajax({ 
    url: 'http://rockbottom.nozzlmedia.com:8000/api/portland/', 
    dataType: 'jsonp', 
    data: 'count=1', 
    success: function(msg){ 
     console.log(msg) 
    } 
}); 

et les deux donnent la même erreur exacte, et travailler à la fois très bien avec des exemples Flickr et Twitter, donc il doit être quelque chose à faire avec le flux, mais je n'ai pas accès au flux, mais je pourrais leur demander de réparer quelque chose SI c'est leur problème.

Répondre

5

Assurez-vous que le côté serveur peut gérer correctement la demande JSONP. Voir here par exemple.

Modifier: Il semble que le serveur n'enveloppe pas l'objet JSON renvoyé avec le nom de la fonction de rappel. Le serveur doit retourner:

callback({ json here }) 

et non

{ json here } 
+0

Je ne J'ai remarqué que je ne peux pas ajouter de rappels au flux comme Flickr et Twitter et la plupart des autres APIs. Y at-il un test que je peux faire et puis un résultat que je peux envoyer au développeur pour qu'il le corrige –

+0

Voir ma réponse modifiée Comme c'est maintenant le serveur ne supporte pas les appels jsonp – kgiannakakis

+0

putain, merci, je pense que je vais cURL alors :) Je vous remercie! –

0

Le contenu renvoyé comporte des guillemets doubles non échappés dans l'une des chaînes. Il est JSON invalide:

..."full_content":"just voted "with Mandy " on... 
+0

Est-ce que donner cette erreur? Je le rafraîchis et il a du nouveau contenu et cette fois il n'a pas ça ou les citations échappées et je l'ai validé (je pensais qu'il était invalide aussi), mais il est passé, évidemment l'échantillon que vous avez donné ISNT valide, mais les autres être. Je n'ai pas accès au code de flux tho, donc, si vous connaissez des solutions de contournement faites le moi savoir :) –

2

Cette URL ressemble à cela vous attend à fournir un rappel JSONP (à partir du bit callback=?). C'est probablement le problème. il retourne JavaScript plutôt que JSON (parce que c'est ainsi que fonctionne JSONP). Consultez les documentations $.ajax pour en savoir plus sur l'utilisation des services JSONP.

+0

Voir mon commentaire ci-dessus. Je sais à propos de callback =? et jsonp, et comme ci-dessus dit, cela fonctionne avec Twitter et Flickr ... :(Est-ce le véritable JSON? –

+0

@Oscar: Semble certainement comme il pourrait être, vous aurez besoin de regarder ce qui revient. –

Questions connexes