JSONP : activation de la communication JSON inter-domaines
La communication JSON inter-domaines pose un défi en raison de la politique de même origine. JSONP (JSON with Padding) a été introduit comme solution à ce problème.
Création d'une API de rappel JSONP
Pour créer une API de rappel JSONP, vous devez :
Exemple en PHP :
<code class="php"><?php $data = '{}'; if (array_key_exists('callback', $_GET)) { header('Content-Type: text/javascript; charset=utf8'); header('Access-Control-Allow-Origin: http://www.example.com/'); $callback = $_GET['callback']; echo $callback . '(' . $data . ');'; } else { header('Content-Type: application/json; charset=utf8'); echo $data; } ?></code>
Ce code envoie un fichier JavaScript qui appelle le fonction de rappel spécifiée avec les données JSON comme premier argument.
Utilisation du service JSONP
Pour utiliser le service JSONP :