Erreur API Zillow: «Aucun en-tête ‘Access-Control-Allow-Origin’ n’est présent»

J’essaie d’extraire des données Zillow à partir de XML mais je ne parviens pas à charger le fichier XML. Mon code est le suivant (j’ai remplacé la clé API par API KEY dans l’URL):

  $.ajax({ url: "http://www.zillow.com/webservice/GetDeepSearchResults.htm?zws-id=API KEY&address=10608+floral+park+lane&citystatezip=20878", dataType: 'xml', success: function(data){ console.log(data); } });  

Cependant, j’obtiens l’erreur suivante:

XMLHttpRequest ne peut pas charger http://www.zillow.com/webservice/GetDeepSearchResults.htm?zws-id=API KEY & address = 10608 + floral + parc + ruelle & citystatezip = 20878. Aucun en-tête ‘Access-Control-Allow-Origin’ n’est présent sur la ressource demandée. L’origine ‘http: // WEBSITE DOMAIN’ n’est donc pas autorisée.

Quelqu’un pourrait-il me diriger dans la bonne direction / me dire ce qui se passe exactement?

C’est une demande interdomaine – vous n’êtes autorisé à demander des ressources qu’à partir de votre propre domaine.

Zillow ne prenant pas en charge une API JavaScript, vous devez donc créer votre propre service côté serveur qui l’interroge (transmet la requête) et se situe sur le même domaine que votre page HTML. Ensuite, vous pouvez l’appeler (en tant que proxy).