Maison >développement back-end >tutoriel php >Comment jQuery et PHP peuvent-ils faciliter les requêtes cross-origine à l'aide de JSONP ?

Comment jQuery et PHP peuvent-ils faciliter les requêtes cross-origine à l'aide de JSONP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-04 19:56:12183parcourir

How Can jQuery and PHP Facilitate Cross-Origin Requests Using JSONP?

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!

Déclaration:
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