Impossible de terminer la demande .getJSON?

Pour commencer, il s’agit d’une requête interdomaine que je tente de mener à bien. Voici un lien vers le livre blanc sur l’API Strava que j’utilise comme référence. Strava Wiki

S’il vous plaît voir le code que j’utilise ci-dessous. S’il n’est pas possible d’effectuer la demande avec jQuery, pouvez-vous me donner un exemple d’une autre façon de le faire? (ex. AJAX) J’ai fait mes recherches mais j’avoue que je ne sais pas assez pour comprendre pourquoi la demande ne fonctionne pas. Dois-je insérer un argument qui attend la réponse avant d’afficher l’alerte ou est-ce implicite? Merci d’avance!

   jQuery demo   jQuery   $(document).ready(function(){ $("a").click(function(event){ $.getJSON('http://www.strava.com/api/v1/segments/637215', function(data) { alert(data); }); }); });    

Pour plus d’informations sur les raisons pour lesquelles votre solution ne fonctionnera pas comme prévu, reportez-vous à la rubrique: Domaines d’origine multiples à contrôle d’access autorisé.

Essayez d’utiliser la méthode .ajax place avec dataType: "jsonp" :

 $.ajax({ url: "http://www.strava.com/api/v1/segments/637215", dataType: 'jsonp', success: function(data){ console.log(data); } }); 

en cours d’exécution cela obtient ce qui suit:

 {"segment":{"id":637215,"name":"Highway 33 Climb - Matilija Lake to Rose Valley","distance":16779.2,"elevationGain":1101.1,"elevationHigh":1070.9,"elevationLow":289.54,"averageGrade":4.64087,"climbCategory":"1"}} 

EXEMPLE

Notez qu’il semble y avoir une erreur avec les données retournées, mais je suis capable de le voir. (S’il vous plaît voir le commentaire de Musa ci-dessous).

MODIFIER

ou vous pouvez changer:

 $.getJSON('http://www.strava.com/api/v1/segments/637215', function(data) { console.log(data); }); 

à:

 $.getJSON('http://www.strava.com/api/v1/segments/637215?callback=?', function(data) { console.log(data); }); 

Cela entraînera l’utilisation de jsonp .getJSON() .

If the URL includes the ssortingng "callback=?" (or similar, as defined by the server-side API), the request is treated as JSONP instead.

EXEMPLE