JSONP avec jQuery et PHP : un exemple de requête d'origine croisée
Comprendre le concept de JSONP peut être difficile, en particulier lorsque vous essayez de l'implémenter. dans vos propres projets. Dans cet article, nous fournirons un exemple simple mais efficace combinant jQuery, PHP et JSONP. En suivant cette démonstration, vous comprendrez clairement comment effectuer des requêtes cross-origin à l'aide de ce mécanisme.
Le défi
Considérons un scénario dans lequel nous avoir une page Web hébergée sur un domaine (par exemple, mywebsite.com) et un serveur hébergeant certaines données auxquelles nous souhaitons accéder sur un autre domaine (par exemple, someotherserver.com). En raison de la politique de même origine, il ne sera pas possible d'accéder directement aux données à l'aide des méthodes Ajax traditionnelles.
Entrez JSONP : une solution multi-origine
JSONP est un technique qui vous permet d'effectuer des requêtes d'origine croisée en tirant parti du fait que les navigateurs n'imposent pas la restriction de même origine sur les balises de script. Essentiellement, nous pouvons envelopper les données que nous voulons récupérer dans un appel de fonction et utiliser la balise de script pour les charger.
La méthode jQuery $.getJSON
Quand en utilisant jQuery pour faire une requête JSONP, vous pouvez utiliser la méthode $.getJSON(). Cette méthode détecte et gère automatiquement la requête d'origine croisée à l'aide de JSONP.
Script côté serveur PHP
Côté serveur, nous créons un script PHP pour gérer le demander et renvoyer les données dans le format attendu par JSONP. Nous utiliserons le ?callback=? paramètre pour spécifier la fonction de rappel qui sera utilisée pour envelopper les données renvoyées.
Test de l'exemple
Pour tester notre exemple, nous utiliserons jQuery sur la page Web et PHP sur le serveur. Le code jQuery fera une requête JSONP au serveur et le script PHP côté serveur renverra les données enveloppées dans une fonction de rappel. Dès réception de la réponse, jQuery exécutera le rappel et traitera les données renvoyées.
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!