getJSON: pourquoi ne l'1 exemple de travail, mais l'autre pas?
J'ai 2 exemples d'une fonction qui récupère le json de données et donne une alerte.
Dans cet exemple, tout va bien: http://jsbin.com/uwupa3/edit
$(document).ready(function(){
var timeService = "http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?";
$.getJSON(timeService, function(data) {
alert(data);
});
});
Mais dans le deuxième exemple, il n'y a pas d'alerte affiche.
Pourquoi? La seule différence est le service où le json est extrait. Le json-objet semble parfaitement valable pour moi: http://jsbin.com/uwupa3/2/edit
$(document).ready(function(){
var timeService = "http://json-time.appspot.com/time.json?tz=Europe/Brussels";
$.getJSON(timeService, function(data) {
alert(data);
});
});
Je n'ai pas de JS-erreurs. J'ai aussi essayé ce local (donc pas sur JSbin mais avec un htm fichier sur mon pc) et cela ne fonctionne pas non plus.
Quelqu'un peut m'expliquer ce que je fais de mal?
OriginalL'auteur Natrium | 2010-02-17
Vous devez vous connecter pour publier un commentaire.
Vous utilisez une URL qui est en dehors de votre domaine, ce qui signifie
$.getJSON
de ne pas utiliser un XmlHttpRequest, mais certains JSONP -- voir le la documentation de$.getJSON
:Et si vous prenez un coup d'oeil sur la documentation de la
jsonp
option pour$.ajax
, vous verrez :Et pour le
jsonpCallback
option :Pour votre première demande, il est
jsoncallback
paramètre dans l'URL, pour votre deuxième demande, il n'existe pas de paramètre :http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?
http://json-time.appspot.com/time.json?tz=Europe/Brussels
Je suppose que cela a quelque chose à voir avec le fait que la deuxième demande de ne pas faire ce que vous voulez ?
&callback=?
à la deuxième url, et maintenant il fonctionne parfaitement bien.Merci pour la confirmation 🙂 (je n'ai pas essayer, heureux de savoir qu'il fonctionne ! )
OriginalL'auteur Pascal MARTIN
Vous utilisez une URL qui est en dehors de votre domaine, ce qui signifie
$.getJSON
de ne pas utiliser unXmlHttpRequest
, mais certainsJSONP
- voir la documentation de $.getJSON :Et si vous prenez un coup d'oeil sur la documentation de la jsonp option de $.ajax, vous verrez :
Et pour le jsonpCallback option :
OriginalL'auteur rudra writ majumder