2010-11-18 11 views
0

XML'i JSON ile karşılaştıran this makalesini okuyorum ve yorum bölümünde, bir kullanıcı XML'e erişmek için "yerel proxy" kullanma gereksiniminden bahseder.JSON vs XML - XML ​​bir 'yerel proxy' gerektiriyor mu? O nedir?

Birisi bu bağlamda yerel bir proxy'nin ne anlama geldiğini açıklayabilir mi? Javascript demek istediğimi farz edeyim, ama parsers'ın diğer dillerde (C#, vs ...) mevcut olduğunu anlamak için açıkım.

+0

[AJAX veya AJAJ?] (Http://izlooite.blogspot.com/2010/05/ajax-or-ajax-xml-vs-json.html) –

cevap

2

JavaScript, diğer etki alanlarından gelen içeriğe erişmenizi engelleyen birnumaralı telefona sahiptir. Bu, XMLHttpRequest nesnesinin XML dosyasının içeriğini diğer etki alanından almasını engeller.

Yerel bir proxy, yalnızca alan adınızdan diğer etki alanına giden isteği yeniden düzenleyen ve içeriği getiren basit bir dosyadır. Bu şekilde aynı orjin politikası karşılandı.

JSON kısıtlamada çalışmazsa, JavaScript, Resim ve CSS dosyaları diğer etki alanlarından referans alınabilir. JavaScript dosyaları diğer alanlardan yüklenebileceğinden, içeriği almak için JSONP (Dolgu ile JSON) kullanabiliriz.

Çoğu kişi, JavaScript dosyasına herhangi bir içerik enjekte edilebileceğinden JSONP'ın güvenli olmadığını kabul eder. Kaynağınıza, herhangi bir kötü içeriğin (reklamlar, pop-up'lar, takip materyalleri, vb.) Web sayfasına yerleştirilmeyeceğine güvenmeniz gerekir.

2

Bu, temel olarak JSONP (kullanıcı yorumunda belirtildiği gibi) ile ilgilidir. JavaScript'in uzak kaynakta verilen her şeyi yürütme yeteneğini <script src="http://url.com/file"></script> tanımlar ve bir tarayıcıya uzak kaynaklardan veri alma yeteneği verir.

XML de yürütebildiğinden JSONP terimini kendim sevmiyorum, bu nedenle kullanıcının yorumu yanlıştır. Sunucunuza run('<some xml></some xml>') gibi bir şey döndürebilir ve ardından ihtiyacınız olan verileri almak için yerleşik XML XML ayrıştırıcısını kullanabilirsiniz - JSON olması gerekmez.