2009-08-19 16 views

cevap

5

JSONP dolgu ile JSON anlamına gelir ve istemci JSON yanıtı başlangıcında eklenmelidir bazı kod belirtmek için bir yol sağlar. Bu, JSONP yanıtının doğrudan tarayıcıda yürütülmesine izin verir. Bir JSONP tepkinin bir örneği olabilir:

processResults({value1: "Hello", value2: "World"}) 

Ben JSONP yararlı olacağını büyük yer <script> etiketini kullanarak etki alanları arasında istekleri yapımında olduğunu düşünüyorum. Bence en büyük dezavantaj, JSONP'nin doğrudan yürütüldüğü gibi uzak sitenin kötü amaçlı bir şey göndermeyeceğine güvenmeniz gerektiğidir. Ancak, tekniği uygulamada kullanmadığımı itiraf etmeliyim.

Düzenleme: Remote JSON - JSONP, tekniği, icat etmiş gibi görünen kişiden neden kullanmak isteyeceğiniz hakkında daha fazla bilgi sağlar.

3
+0

Teşekkürler, bu oldukça iyi bir yazı. Bunun neden gerekli olduğu konusunda da bazı iyi bir arkaplan aradığımı fark ettim, ki bu yazı gerçekten kapsamı dışında kalıyordu, bu yüzden benim de bu soruyu içerecek şekilde yeniden yorumlayacağım. –

+0

makalesinde "bunu yaparken, etki alanı JSON istekleri olabilir." xss limitlerini aşmanın bir yolu – andersonbd1

3

this blog alıntı:

The purpose of JSONP is to overcome the boundaries of the infamous same-domain-policy which restricts XHR requests to the same domain meaning that you cannot make Ajax requests to other domains. There’s no need to worry about that with JSONP because it doesn’t even require Ajax to work; all it’s doing is using script tags and callbacks…