Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
serveurscrutari:json [2014/03/07 17:18] – vincent | serveurscrutari:json [2015/03/31 15:55] (Version actuelle) – [JSON-P et le paramètre « callback »] vincent |
---|
===== JSON-P et le paramètre « callback » ===== | ===== JSON-P et le paramètre « callback » ===== |
| |
En javascript, il n'est pas possible de faire une requête sur une URL d'un autre nom de domaine(//Same Origin Policy//). Cette règle interdit donc l'utilisation de JSON en Ajax, sauf à héberger le script sur le même serveur que Scrutari. C'est pour détourner cette limitation qu'a été inventé le protocole JSON-P : celui-ci consiste tout simplement à transmettre l'objet JSON en tant qu'argument d'une fonction, le nom de cette fonction étant passé au serveur avec le paramètre //callback//. | Pendant longtemps, il n'était pas possible de faire une requête en Javascript sur une URL d'un autre nom de domaine (//Same Origin Policy//). Cette règle interdisait donc l'utilisation de JSON en Ajax, sauf à héberger le script sur le même serveur que Scrutari. C'est pour détourner cette limitation qu'a été inventé le protocole JSON-P : celui-ci consiste tout simplement à transmettre l'objet JSON en tant qu'argument d'une fonction, le nom de cette fonction étant passé au serveur avec le paramètre //callback//. |
| |
Les requêtes via l'URL ///JSon// reconnaissent toutes la présence de ce paramètre //callback// et, s'il est présent, renverront la réponse au format JSON-P. | Les requêtes via l'URL //{adresse du moteur}/json// reconnaissent toutes la présence de ce paramètre //callback// et, s'il est présent, renverront la réponse au format JSON-P. |
| |
Une bibliothèque Javascript comme JQuery possède un mécanisme de traitement de JSON-P qui rend son utilisation très simple, il suffit d'indiquer que la requête Ajax est de type « //jsonp// » et JQuery se charge de la définition du paramètre //callback//. | Une bibliothèque Javascript comme JQuery possède un mécanisme de traitement de JSON-P qui rend son utilisation très simple, il suffit d'indiquer que la requête Ajax est de type « //jsonp// » et JQuery se charge de la définition du paramètre //callback//. |
| |
| Cette utilisation de JSON-P n'est plus nécessaire si le serveur autorise explicitement cet accès trans-domaine. C'est le cas de toutes les requêtes Json du serveur Scrutari qui envoient l'entête HTTP : //Access-Control-Allow-Origin: *// |
| |
| |