d3.json, d3.xhr et inter-domaine des problèmes

J'ai fait plusieurs tests aujourd'hui liés à la façon dont nous pouvons nous charger des fichiers json avec d3 parce que j'ai été intrigué par cette question: d3.json fonctionne, mais $.getJson échoue. Cependant quelques-uns des tests que j'ai faits sont un peu difficile.

d3.xhr("http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=select+*+where+%7B%3Chttp%3A%2F%2Fdbpedia.org%2Fresource%2FRoger_Federer%3E+%3Fp+%3Fo+filter%28lang%28%3Fo%29+%3D+%27en%27%29%7D%0D%0A&debug=on&timeout=&format=application%2Fsparql-results%2Bjson&save=display&fname=", function(data)
console.log("success1"); 
alert(data);
});

d3.json("http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=select+*+where+%7B%3Chttp%3A%2F%2Fdbpedia.org%2Fresource%2FRoger_Federer%3E+%3Fp+%3Fo+filter%28lang%28%3Fo%29+%3D+%27en%27%29%7D%0D%0A&debug=on&timeout=&format=application%2Fsparql-results%2Bjson&save=display&fname=", function(data){              console.log("success2");
alert(data);
});


d3.xhr("http://api.worldbank.org/countries/BRA/indicators/BX.KLT.DINV.CD.WD?per_page=10&date=2007:2012&format=json", function(data){
console.log("success3");
alert(data);
})

d3.json("http://api.worldbank.org/countries/BRA/indicators/BX.KLT.DINV.CD.WD?per_page=10&date=2007:2012&format=json", function(data){
console.log("success4");
alert(data);
})

Je sais que le problème peut être lié à au moins 2 raisons: le type MIME et de la SCRO, mais je ne comprends pas plusieurs choses:

  1. si le rappel est toujours exécuté (même les plus difficiles, parfois avec le OK de 200 ce qui peut aussi être une erreur vu de jQuery .ajax() et .getJSON ()) pourquoi ne puis-je voir les données dans un seul cas (le premier) - le reste des cas sont toujours des erreurs?
  2. quels sont les types MIME supportés par d3.xhr méthode?
  3. si d3.json est juste une belle enveloppe pour d3.xhr pourquoi l'exemple 1, des œuvres et de l'exemple 2 ne fonctionne pas...? J'aimerais quelques éclaircissements. J'utilise principalement la d3 avec les fichiers de mon serveur, mais il y a des cas de ce genre quand je dois aussi utiliser des données externes, et ce serait vraiment gentil de faire cela aussi avec D3, pas seulement avec jQuery.

Je pense qu'il devrait y avoir une liste avec tous les types MIME acceptés par ces méthodes.

ma raison de demander c'est simple: nous allons utiliser D3 fortement liées visualisations de données dans les prochains mois

OriginalL'auteur paxRoman | 2012-05-16