Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
serveurscrutari:json [2010/05/12 01:25] vincent |
serveurscrutari:json [2015/03/31 15:55] (Version actuelle) vincent [JSON-P et le paramètre « callback »] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Requêtes JSON ====== | ====== Requêtes JSON ====== | ||
- | Une des possibilités d'interrogation du serveur Scrutari est de passer par le protocole JSON, qui est un protocole de définition d'objets utilisés en Javascript notamment (la plupart des langages traitant d'objets disposent de bibliothèques pour traiter le format JSON). L'avantage du format JSON, c'est qu'il permet d'obtenir simplement des objets directement manipulables dans le langage utilisé. | + | La principale possibilité d'interrogation d'un moteur Scrutari se base sur le protocole JSON, qui est un protocole de définition d'objets utilisés en Javascript notamment (la plupart des langages traitant d'objets disposent de bibliothèques pour traiter le format JSON). L'avantage du format JSON, c'est qu'il permet d'obtenir simplement des objets directement manipulables dans le langage utilisé. |
- | L'interrogation du serveur en mode JSON se fait en passant des paramètres via l'URL ///JSon//. | + | L'interrogation du moteur en mode JSON se fait en passant des paramètres via l'URL //{adresse du moteur}/json//. |
Cette requête a un paramètre obligatoire, le paramètre //type// qui indique le type de la requête effectuée. Chaque type de requête définit ses propres paramètres et retourne ses propres objets au format JSON. | Cette requête a un paramètre obligatoire, le paramètre //type// qui indique le type de la requête effectuée. Chaque type de requête définit ses propres paramètres et retourne ses propres objets au format JSON. | ||
- | ===== Liste des types ===== | + | ===== Les différentes requêtes ===== |
- | + | {{navi>serveurscrutari:json:navigationmenu}} | |
- | * [[serveurscrutari:json:type_qmotcle|type=q-motcle]] : requête sur les mots-clés | + | |
- | * [[serveurscrutari:json:type_qsupermotcle|type=q-supermotcle]] : requête sur les super mots-clés | + | |
- | * [[serveurscrutari:json:type_base|type=base]] : récupération d'informations sur les bases | + | |
Ligne 18: | Ligne 15: | ||
===== 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: *// | ||