help: divide datasource page into json and jsonp parts

This commit is contained in:
Frédéric Péters 2017-02-08 11:39:30 +01:00
parent 8ccd4833e8
commit da65a7e72f
1 changed files with 32 additions and 1 deletions

View File

@ -17,7 +17,7 @@
<p>
w.c.s. peut utiliser des référentiels externes pour par exemple alimenter la
liste des choix possibles dans un champ; pour ce faire w.c.s. utilise le
protocole <link href="http://en.wikipedia.org/wiki/JSONP">JSONP</link>.
format JSON.
L'adresse appelée doit répondre aux exigences suivantes :
</p>
@ -27,12 +27,42 @@ L'adresse appelée doit répondre aux exigences suivantes :
<item><p>présenter chaque élément des données dans un dictionnaire contenant
deux éléments, <code>id</code> contenant un identifiant unique et
<code>text</code> contenant le texte de la valeur ;</p></item>
</list>
<example>
<title>Exemple JSON</title>
<screen>
<output style="prompt">$ </output><input>curl https://www.example.net/data/fruits</input>
<output>{
"data": [
{
"text": "Poire",
"id": "1"
},
{
"text": "Pomme",
"id": "2"
}
]
}</output></screen>
</example>
<p>
Quand il y a besoin de filtrer dynamiquement les données
(autocomplétion, recherche dans un champ liste),
le protocole <link href="http://en.wikipedia.org/wiki/JSONP">JSONP</link>
est utilisé. Les exigences supplémentaires sont les suivantes :
</p>
<list>
<item><p>accepter un paramètre <code>callback</code> permettant de définir
le nom de la fonction Javascript devant être appelée ;</p></item>
<item><p>accepter un paramètre <code>q</code> permettant de filtrer les
résultats.</p></item>
</list>
<example>
<title>Exemple JSONP</title>
<screen>
<output style="prompt">$ </output><input>curl https://www.example.net/data/fruits?q=po&amp;callback=cb</input>
<output>cb({
@ -47,6 +77,7 @@ L'adresse appelée doit répondre aux exigences suivantes :
}
]
});</output></screen>
</example>
<note><p>
En plus des clés <code>id</code> et <code>text</code> qui sont obligatoires,