Maison > développement back-end > tutoriel php > Comment JSONP résout-il les problèmes de récupération de données multi-origines ?

Comment JSONP résout-il les problèmes de récupération de données multi-origines ?

Patricia Arquette
Libérer: 2024-12-07 20:21:14
original
283 Les gens l'ont consulté

How Does JSONP Solve Cross-Origin Data Retrieval Problems?

JSONP : récupération de données d'origine croisée simplifiée

Lors du traitement de requêtes Web d'origine croisée, la politique de même origine peut poser un défi . JSONP (JSON with Padding) est apparu comme une solution pour résoudre ce problème. Voici une explication étape par étape de la façon d'implémenter une requête jQuery, PHP et JSONP de base pour récupérer des données d'un domaine différent :

Requête jQuery

$.getJSON('http://www.write-about-property.com/jsonp.php?callback=?', { firstname: 'Jeff' }, function(res) {
  alert('Your name is ' + res.fullname);
});
Copier après la connexion

Réponse PHP

<?php
  $fname = $_GET['firstname'];
  if ($fname == 'Jeff') {
    echo $_GET['callback'] . '(' . "{'fullname' : 'Jeff Hansen'}" . ')';
  }
?>
Copier après la connexion

Clé Modifications :

  • ?callback=?: En JSONP, le serveur inclut une fonction de rappel dans la réponse. Le ?rappel=? permet au navigateur de fournir une fonction de rappel générée dynamiquement pour le serveur.
  • $_GET['callback'] . '(' : Le serveur utilise JavaScript pour appeler la fonction de rappel fournie par le navigateur.
  • res.fullname : Le code JavaScript accède au JSON renvoyé par le serveur et affiche le valeur 'nom complet'.

HTML dans Réponse

Oui, vous pouvez stocker du HTML dans le résultat et il sera renvoyé sous forme de chaîne. Le code JavaScript gérera alors le HTML comme approprié.

Exemple d'utilisation.

Cet exemple récupère le nom complet de « Jeff » à partir d'un script PHP situé à « http://www.write-about-property.com/jsonp.php ». Si le nom correspond à « Jeff », le nom complet « Jeff Hansen » est renvoyé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal