मैंने आज कई परीक्षण किए हैं जिस तरह से हम जेएसओ फाइलों को डी 3 के साथ लोड कर सकते हैं क्योंकि मैं इस प्रश्न से चिंतित था: d3.json works but $.getJson fails। हालांकि मैंने किए गए कुछ परीक्षण थोड़ा मुश्किल हैं।d3.json, d3.xhr और क्रॉस-डोमेन समस्याएं
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);
})
मुझे पता है कि समस्या कम से कम 2 कारणों से संबंधित हो सकते हैं: MIME प्रकार और CORS, लेकिन मैं कई अन्य बातों को समझ में नहीं कर सकते हैं:
अगर कॉलबैक हमेशा निष्पादित किया जाता है (कभी-कभी ओके 200 के साथ भी मुश्किल होती है जो कि jQuery की .ajax() और .getJSON() विधियों से देखी गई त्रुटि भी हो सकती है) मैं केवल एक मामले (पहले वाला) में डेटा क्यों देख सकता हूं - बाकी के मामले हैं हमेशा त्रुटियां?
d3.xhr विधि द्वारा समर्थित MIME प्रकार क्या हैं?
यदि d3.json d3.xhr के लिए सिर्फ एक अच्छा रैपर था उदाहरण 1 काम और उदाहरण 2 क्यों काम नहीं करता है ...? मुझे कुछ स्पष्टीकरण चाहिए। मैं ज्यादातर अपने सर्वर से फ़ाइलों के साथ डी 3 का उपयोग करता हूं, लेकिन इस तरह के मामले हैं जब मुझे कुछ बाहरी डेटा का उपयोग करना पड़ता है, और यह सिर्फ डी 3 के साथ ऐसा करने के लिए वास्तव में अच्छा होगा, न कि सिर्फ jQuery के साथ।
मुझे लगता है कि इन तरीकों से स्वीकार किए गए सभी एमआईएम प्रकारों के साथ एक सूची होनी चाहिए।
इस पूछने के लिए मेरी वजह साफ है: हम अगले महीनों में लिंक किए गए डेटा दृश्यावलोकन के लिए भारी डी 3 का उपयोग करेगा – paxRoman