Maison > Article > interface Web > Une brève discussion sur la différence entre JSON et JSONP et l'utilisation de l'ajax jsonp_jquery de jQuery
JSON et JSONP
JSON (JavaScript Object Notation) est un format d'échange de données léger utilisé pour échanger des informations entre les navigateurs et les serveurs.
JSONP (JSON With Padding) est un JSON (ou un JSON encapsulé) emballé dans un appel de fonction.
JSON est un format de données et JSONP est une méthode d'appel de données.
Pour des raisons de sécurité, les scripts (AJAX) ne peuvent pas accéder au contenu en dehors de ce domaine. Cependant, les ressources statiques ne sont pas limitées par les politiques de domaine et peuvent charger des scripts, des styles, des images et d'autres ressources statiques à partir de n'importe quel domaine. JSOP utilise ce principe pour réaliser une acquisition de données inter-domaines.
Exemple 1 :
Cet exemple montre comment appeler une fonction JavaScript avec des données JSON statiques comme paramètre.
Exemple 2 :
Le premier appel de fonction peut être écrit dans un fichier js et placé sur le serveur, chargé dans la page à l'aide d'une balise de script, et cette balise peut être créée dynamiquement.
1 showPrice({symbole : 'IBM', prix : 91,42});
Le code JavaScript inséré dynamiquement prend les données JSON à transmettre en tant que paramètre et paramètre de l'instruction d'appel de la fonction showPrice.
La question est donc la suivante : la fonction showPrice doit-elle être appelée à chaque fois que les données sont obtenues ? Cela nécessite que les programmeurs front-end et back-end concluent un accord. Bien sûr, cela causera beaucoup d'inconvénients, surtout lorsque l'interface est ouverte au développement public. JSOP est traité de cette manière : le front-end est pris en charge pour transmettre un paramètre de nom de fonction de rappel, le back-end reçoit le paramètre de nom de fonction de rappel, puis génère un appel à la fonction, transmet les données JSON en tant que paramètre et l'insère. dans la page lorsqu'il atteint le client pour démarrer l'exécution.
Exemple 3 :
Insérer dynamiquement du code avec des paramètres de rappel :