2009-08-19 9 views
7

Possible en double:
Please explain JSONPExplication et utilisation des JSONP

Qu'est-ce JSONP, pourquoi est-il nécessaire, et quels sont quelques exemples du monde réel de son usage.

+1

Avez-vous Google pour cela? Qu'est-ce qui n'était pas clair? Il y a beaucoup d'articles sur JSONP. –

+0

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

Répondre

5

JSONP est synonyme de JSON avec un rembourrage, et il fournit un moyen pour le client de spécifier un code qui devrait être ajouté au début de la réponse JSON. Cela permet à la réponse JSONP d'être directement exécutée dans le navigateur. Un exemple d'une réponse JSONP pourrait être:

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

Je pense que la place importante que JSONP serait utile est de faire des demandes à travers des domaines en utilisant la balise <script>. Je pense que l'inconvénient majeur est que, comme le JSONP est directement exécuté, vous devez croire que le site distant ne renverra rien de malveillant. Cependant, je dois admettre que je n'ai pas utilisé la technique dans la pratique.

Editer: Remote JSON - JSONP fournit plus d'informations sur la raison pour laquelle vous voudriez utiliser la technique du gars qui semble l'avoir inventé.

3
+0

Merci, c'est un très bon article. Je me suis rendu compte que je cherchais aussi de bonnes raisons de savoir pourquoi cela est nécessaire, ce que l'article ne couvre pas vraiment, alors je vais reformuler ma question pour inclure cela. –

+0

de l'article "en faisant ainsi, vous pouvez avoir des demandes JSON interdomaines." C'est un moyen de contourner les limites xss – andersonbd1

3

Je cite 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…