Demande d'origine croisée avec JSONP : un simple jQuery, exemple PHP
Lorsque vous traitez les limitations imposées par la politique de même origine, JSONP apparaît comme une solution efficace pour les requêtes cross-origin. Cette technique vous permet de récupérer des données à partir de sources externes tout en évitant les potentielles failles de sécurité.
jQuery et JSONP
Pour lancer une requête JSONP à l'aide de jQuery, vous pouvez utiliser le Méthode $.getJSON. Cette méthode déclenche automatiquement une requête JSONP, comme démontré dans l'extrait de code suivant :
$.getJSON('http://www.example.com/jsonp.php', {firstname: 'Jeff'}, function(res) { alert('Your name is ' + res.fullname); });
PHP et JSONP
Côté serveur, PHP sert de point de terminaison pour gérer la requête JSONP. La méthode $.getJSON ajoute un paramètre de rappel à la chaîne de requête URL, qui est ensuite traitée par le script PHP. Le script renvoie la réponse enveloppée dans la fonction de rappel, comme indiqué ici :
<?php $fname = $_GET['firstname']; if ($fname == 'Jeff') { echo $_GET['callback'] . '(' . "{'fullname': 'Jeff Hansen'}" . ')'; } ?>
Notez l'utilisation de $_GET['callback'] et la syntaxe JSONP appropriée dans la construction de la réponse. Cela garantit que la fonction de rappel fournie par le client est utilisée pour encapsuler la réponse.
Gestion des résultats HTML
Bien que l'exemple fourni illustre principalement l'échange de données JSON, il convient de noter que JSONP peut également être utilisé pour transmettre du contenu HTML. Pour cela, assurez-vous simplement que le script PHP encapsule le code HTML dans la fonction de rappel et l'envoie en réponse. Le JavaScript côté client peut ensuite analyser et restituer le HTML selon les besoins.
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!