2011-08-23 21 views
6

Ben şimdi sadece bir talep ediyorum için Dbpedia sparql son nokta http://dbpedia.org/sparqlHarici Sparql isteğinden json çıkışı doğrudan tarayıcıdan nasıl kullanılır?

oluşturulan json dosyasını istediğiniz ve otomatik olarak benim diske json dosyasını indirir ve ben yerel olarak kullanmak düşünelim.

Json doğrudan son noktadan nasıl kullanılır? Örneğin, yerel olarak kaydedilen json dosyasını girmek yerine isteğimi kendi kodumda kendim nasıl girebilirim?

Daha somut, ben Federer istatistikleri için rica ediyoruz:

select * where {<http://dbpedia.org/resource/Roger_Federer> ?p ?o filter(lang(?o) = 'en')} 

winner.json olarak çıktı kaydetme ve bu onu alma:

$.getJSON('json/winner.json', function(json) { 
    for(var i = 0; i < json["results"]["bindings"].length; i++) { 
    $('#winner').append(json["results"]["bindings"][i]["o"].value + '<br /><br />'); 
    }; 
}); 

ben doğrudan json getirmesi mümkün istiyorum betiğimle sunucu.

HTML kabul başlıklarıyla veya başka bir şeyle oynamalı mıyım? Her ipucu için teşekkürler.

+0

ana konudur [ "Aynı kökenli ilke"] (http://en.wikipedia.org/wiki/Same_origin_policy). Başka bir web sitesi ajax olamaz. – roselan

+0

I -think-dbpedia buna izin veriyor, ancak emin değil. – 3mpetri

+0

@roselan Eğer ajax yapabilseydin, nasıl yaparsın? – 3mpetri

cevap

10

Hemen yapın:

$.getJSON("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('data = ', data); 
    }); 
+0

@ip Woa, bu kolaydı: D Ajax ile aynı şeyi nasıl yapacağımı ve kabul başlıklarıyla nasıl manipüle edeceğimi biliyor musunuz? – 3mpetri

+2

böylece URL (kodu çözülmüş) şöyle görünür: [link] (http://dbpedia.org/sparql?default-graph-uri=http://dbpedia.org&query=select * burada {? p? o filter (lang (? o) = 'en')} & debug = on & timeout = & format = text/html & save = display & fname =). Format parametarını değiştirebilirsiniz, örn. JSON istiyorsanız, "application/sparql-results + json" ifadesini kullanmanız gerekir, eğer html sonra "text/html". –