Question

Je veux récupérer les informations de mon profil Stack Overflow comme JSON en utilisant l'API.

J'utilise ce lien http: /api.stackoverflow.com/1.0/ utilisateurs / 401025 / .

Mais quand je fais la demande que je reçois un fichier contenant les données JSON. Comment puis-je gérer ce fichier en utilisant Ajax?

Voici mon code ( http://jsfiddle.net/hJhfU/2/ ):

<html>
 <head>
  <script>
   var req;

   getReputation();

   function getReputation(){
      req = new XMLHttpRequest();
      req.open('GET', 'http://api.stackoverflow.com/1.0/users/401025/');
      req.onreadystatechange = processUser;
      req.send();
   }

   function processUser(){       
       var res = JSON.parse(req.responseText);
       alert('test');      
   }
  </script>
 </head>

L'alerte est jamais tiré et req.responseText semble être vide. Toutes les idées?

Était-ce utile?

La solution

Remarque: Vous ne pouvez pas utiliser Ajax pour accéder à un autre domaine. (On appelle la politique même de domaine du

Cependant, l'API prend en charge StackOverflow callbacks JSONP, alors voici une solution:

Charger dans le script via une balise de <script>.

Créer une fonction qui fait exactement cela:

function load_script(src) {
   var scrip = document.createElement('script');
   scrip.src = src;
   document.getElementsByTagName('head')[0].appendChild(scrip);
   return scrip; //just for the heck of it
}

Configurer la fonction de rappel:

function soResponse(obj) {
   alert(obj.users[0].reputation);
}

Chargez!

load_script('http://api.stackoverflow.com/1.0/users/401025/?jsonp=soResponse');
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top