J'essaie de charger des données à partir d'un fichier externe .js code>, contenant une représentation JSON d'un tas de données. Je ne peux pas pour la vie de moi comprendre comment accéder aux données à l'intérieur de la page. Je suis sûr que c'est vraiment facile et je manque quelque chose de simple! En ce moment, j'essaye ceci:
$(document).ready(function () {
$.getJSON("http://api.crunchbase.com/v/1/company/xobni.js",
function (data) {
alert(data.company_url);
});
});
3 Réponses :
semble bien à première vue. Êtes-vous sûr que la réponse est valide JSON? Le type de contenu est-il incorrect, peut-être? L'URL source est-elle sur le même domaine exacte em> que votre page? (y compris le protocole et le numéro de port) P>
EDIT: P>
J'ai chargé votre JSON et il n'y a pas de propriété "Company_url". P>
Ce fichier de données n'a pas La vraie raison forte>, bien sûr, est que vous devez ajouter société_url code>. De plus, le fichier
.js code> est servi avec
text / javascript code> MIME-Type, lorsqu'il doit être servi avec
application / json code> (ou
(ou
Application / x-JavaScript code>, corrigez-moi de cela).
? rappel =? code > à votre URL. Alors tout va fonctionner. Donc, ça va ressembler à ceci: p>
J'ai mal saisi la variable plus tôt, ce n'était pas le code que j'étais en cours d'exécution :-) Le rappel résolu - je ne suis pas vraiment sûr de ce que cela signifie ou fait, mais je peux accéder aux données maintenant! JE VOUS REMERCIE!!
Carly, cela signifie probablement que vos données et le JavaScript récupère ne sont pas sur le même domaine. L'ajout du paramètre de rappel raconte JQuery d'utiliser JSONP plutôt que JSON. JSONP est essentiellement un hack pour travailler autour des problèmes croisés.
J'ai regardé les données JSON. On dirait qu'il n'y a pas d'entreprise_url. Vous voudrez peut-être que homepage_url
DATA.COMAY_URL CODE> produirait indéfini si la fonction de rappel exécuterait du tout.