Maison  >  Article  >  développement back-end  >  Communication PHP : Comment réaliser une transmission de données inter-domaines ?

Communication PHP : Comment réaliser une transmission de données inter-domaines ?

王林
王林original
2023-08-20 11:17:121015parcourir

Communication PHP : Comment réaliser une transmission de données inter-domaines ?

Communication PHP : Comment réaliser une transmission de données inter-domaines ?

Introduction :
Dans le développement web, il est souvent nécessaire de réaliser une transmission de données entre différents noms de domaine, ce qui nécessite une communication inter-domaines. Cet article expliquera comment utiliser le langage PHP pour réaliser une transmission de données entre domaines et joindra des exemples de code.

1. Qu'est-ce que la communication inter-domaines ?
La communication interdomaine fait référence au processus de transmission de données entre différents noms de domaine dans le développement Web. En règle générale, les navigateurs empêchent les pages d'envoyer des requêtes ou de recevoir des réponses aux serveurs de différents domaines en raison des limitations de la politique de même origine. Par conséquent, afin de parvenir à une communication de données entre différents domaines, nous devons trouver un moyen de contourner les restrictions de la même politique d'origine.

2. Méthode de communication inter-domaines

  1. JSONP : en créant dynamiquement des balises <script> Le serveur doit renvoyer un morceau de code JS qui exécute la fonction de rappel spécifiée, afin que la page puisse obtenir les données et les traiter. </script>
  2. CORS : le partage de ressources inter-domaines est une méthode de communication inter-domaines standard qui permet aux pages de différents domaines d'envoyer des requêtes inter-domaines via des configurations pertinentes côté serveur. Le serveur doit renvoyer des informations d'en-tête de réponse spécifiques pour indiquer si l'accès entre domaines est autorisé.
  3. iframe + window.postMessage : communiquez en intégrant des balises
  4. Méthode proxy : effectuez une demande de données côté serveur de la même page source, puis renvoyez les données au client. Le client obtient des données en accédant au même serveur d'origine, évitant ainsi les problèmes inter-domaines.

3. Utilisez PHP pour implémenter la communication interdomaine JSONP
JSONP est une méthode de communication interdomaine simple, plus adaptée à la transmission de données simple. Voici un exemple :

<?php
// 获取传入的回调函数名
$callback = $_GET['callback'];

// 需要返回的数据
$data = ['name' => 'John', 'age' => 25];

// 返回JSONP格式的数据
echo $callback . '(' . json_encode($data) . ')';
?>

Dans le code ci-dessus, obtenez d'abord le nom de la fonction de rappel entrant via $_GET['callback']. Ensuite, construisez les données qui doivent être renvoyées et utilisez la fonction json_encode() pour convertir les données au format JSON. Enfin, le nom de la fonction de rappel et les données JSON sont concaténés et affichés.

Dans le code client, faites une demande en créant une balise <script> sur la page et en définissant l'attribut src pour réaliser l'acquisition de données inter-domaines. Par exemple : </script>

<script>
function handleData(data) {
    console.log(data);
}

var script = document.createElement('script');
script.src = 'http://example.com/api.php?callback=handleData';
document.getElementsByTagName('head')[0].appendChild(script);
</script>

Dans le code ci-dessus, créez la balise <script> et définissez l'attribut src sur l'URL de l'API, puis transmettez le nom de la fonction de rappel handleData. Lorsque le serveur renvoie des données, la fonction de rappel est automatiquement exécutée et les données sont transmises en tant que paramètre, réalisant ainsi une acquisition de données inter-domaines. </script>

Conclusion :
En utilisant différentes méthodes de communication inter-domaines, nous pouvons réaliser un transfert de données entre différents domaines dans le développement Web. Cet article présente la méthode d'utilisation de JSONP pour réaliser une communication inter-domaines en PHP et fournit des exemples de code correspondants. Dans le développement réel, les méthodes de communication inter-domaines appropriées sont sélectionnées en fonction des besoins afin que les données puissent être transférées et traitées entre différents domaines.

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