2009-08-19 26 views
7

Duplicar posibles:
Please explain JSONPExplicación y uso de JSONP

¿Cuál es JSONP, ¿por qué es necesaria, y cuáles son algunos ejemplos del mundo real de su uso.

+1

que qué Google para ello? ¿Qué no estaba claro? Hay muchos artículos sobre JSONP. –

+0

http://stackoverflow.com/questions/2067472/please-explain-jsonp – jvenema

Respuesta

5

JSONP representa JSON con el acolchado, y proporciona una manera para que el cliente especificar un código que debe añadirse al inicio de la respuesta JSON. Esto permite que la respuesta JSONP se ejecute directamente en el navegador. Un ejemplo de una respuesta JSONP podría ser:

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

creo que el gran lugar que JSONP sería útil es en la fabricación de solicitudes a través de dominios usando la etiqueta <script>. Creo que la mayor desventaja es que como el JSONP se ejecuta directamente, tendrías que confiar en que el sitio remoto no devolvería nada malicioso. Sin embargo, tengo que admitir que no he usado la técnica en la práctica.

Editar: Remote JSON - JSONP proporciona más información sobre por qué querría utilizar la técnica del tipo que parece haberla inventado.

3
+0

Gracias, es un artículo bastante bueno. Me di cuenta de que también estaba buscando algunos antecedentes sobre por qué es necesario, que el artículo realmente no cubre, así que voy a reformular mi pregunta para incluir eso. –

+0

del artículo "al hacerlo, puede tener solicitudes JSON de dominios cruzados". es una forma de evitar los límites xss – andersonbd1

3

Citando this blog:

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…