Maison > développement back-end > tutoriel php > Comment créer des rappels JSONP en JavaScript pour les requêtes inter-domaines ?

Comment créer des rappels JSONP en JavaScript pour les requêtes inter-domaines ?

Susan Sarandon
Libérer: 2024-10-22 20:54:00
original
864 Les gens l'ont consulté

How to Create JSONP Callbacks in JavaScript for Cross-Domain Requests?

Création de rappels JSONP en JavaScript

Les requêtes inter-domaines peuvent poser un défi dans le développement JavaScript. Cependant, JSONP (JSON with Padding) offre une solution à ce problème.

Modification de votre API JSON pour JSONP

Pour activer les fonctionnalités JSONP dans votre API JSON, suivez les étapes simples ci-dessous :

  1. Accepter un paramètre de « rappel » dans la requête GET :

    if(array_key_exists('callback', $_GET)){
    Copier après la connexion
  2. Enveloppez la fonction de rappel autour de vos données :

    $callback.'('.$data.');';
    Copier après la connexion

En utilisant PHP comme exemple, le code ci-dessous illustre ces étapes :

<code class="php"><?php

$data = '{}'; // json string

if(array_key_exists('callback', $_GET)){

    header('Content-Type: text/javascript; charset=utf8');
    header('Access-Control-Allow-Origin: http://www.example.com/');
    header('Access-Control-Max-Age: 3628800');
    header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE');

    $callback = $_GET['callback'];
    echo $callback.'('.$data.');';

}else{
    // normal JSON string
    header('Content-Type: application/json; charset=utf8');

    echo $data;
}
?></code>
Copier après la connexion

Utilisation du service JSONP

Pour utiliser le service JSONP, vous pouvez utiliser la balise de script HTML :

<code class="html"><script>
    function receiver(data){
        console.log(data);
    }
</script>

<script src="data-service.php?callback=receiver"></script></code>
Copier après la connexion

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 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