|
|
|
|
|
- Interrogation d'un serveur du même domaine ou d'un domaine différent
- Page renvoyant les données au format JSON
- IMPORTANT : Validité du JSON
- Sécurité
JSONExécute (Fonction) En anglais : JSONExecute Appelle une URL serveur qui retourne des données au format JSON (JavaScript Object Notation). Les données serveur sont évaluées et retournées sous forme d'un objet. MesContacts est un objet dynamique MesContacts = JSONExécute(RépertoireWeb() + "FR/Page_Objet.awp?id=12")  // Traitement des données reçues POUR i = 1 _À_ Dimension(MesContacts:Liste) ListeAjoute(LISTE_Liste_des_contacts, MesContacts:Liste[i]:Nom + ... " " + MesContacts:Liste[i]:Prenom) FIN
Syntaxe
Syntaxe synchrone : la fonction est bloquante jusqu'à la réception des données Masquer les détails
<Résultat> = JSONExécute(<URL de la page>)
<Résultat> : Objet dynamique Données renvoyées par le serveur. Ce résultat doit être affecté à un objet de type objet dynamique. <URL de la page> : Chaîne de caractères URL de la page renvoyant des données au format JSON. Cette URL peut être une URL partielle ou totale.- Si l'URL ne commence pas par 'http:', cette URL est utilisée directement. Attention : le domaine doit être dans le domaine de la page courante (ou un sous-domaine), sinon l'appel échoue.
- Si l'URL commence par '/', l'URL est considérée comme chemin absolu dans le domaine courant.
- Dans tous les autres cas, l'URL est considérée comme chemin relatif au répertoire de la page courante.
Syntaxe asynchrone : une procédure est exécutée à la réception des données Masquer les détails
JSONExécute(<URL de la page> , <Nom de la procédure>)
<URL de la page> : Chaîne de caractères URL de la page renvoyant des données au format JSON. Cette URL peut être une URL partielle ou totale. - Si l'URL ne commence pas par 'http:', cette URL est utilisée directement. Attention : le domaine doit être dans le domaine de la page courante (ou un sous-domaine), sinon l'appel échoue.
- Si l'URL commence par '/', l'URL est considérée comme chemin absolu dans le domaine courant.
- Dans tous les autres cas, l'URL est considérée comme chemin relatif au répertoire de la page courante.
<Nom de la procédure> : Chaîne de caractères Nom de la procédure navigateur (globale ou locale) qui effectue le traitement des données JSON. Cette procédure est le la forme :
PROCEDURE <Procédure navigateur> (<Résultat JSON de l'appel>) Le paramètre passé à cette procédure est un objet dynamique, contenant les données JSON. Il doit être indiqué dans la déclaration de la procédure. Remarques Interrogation d'un serveur du même domaine ou d'un domaine différent Dans le cas général, le serveur se trouve sur le domaine qui héberge le site. Dans ce cas, aucune manipulation spécifique ne doit être réalisée. Lors de l'interrogation d'un serveur d'un autre domaine : - le serveur doit implémenter le protocole CORS,
- le site courant doit être autorisé à contacter le serveur.
Page renvoyant les données au format JSON La page renvoyant les données au format JSON peut être une page AWP, une page PHP ou un autre type de page. Si cette page est une page WEBDEV, cette page peut être au format AWP ou PHP. Cette page doit renvoyer les données dans un format JSON avec la fonction ChaîneAffiche. Il est également nécessaire d'utiliser la fonction ChaîneVersUTF8 pour obtenir un format valide. Par exemple, le code suivant permet de créer la chaîne qui sera renvoyée. Cette chaîne contient le code permettant de définir un objet et un tableau. Le code utilisé est du code Javascript. sObjet est une chaîne = [ {id: 12, Liste:  [ {Nom: "smith", Prenom: "john"}, {Nom: "dupond", Prenom: "marie"}, {Nom: "martin", Prenom: "lauré"}] } ] ChaîneAffiche(ChaîneVersUTF8(sObjet))
IMPORTANT : Validité du JSON Aucune vérification n'est effectuée sur la validité du JSON reçu depuis le serveur. Il est nécessaire de s'assurer que la page appelée est une page de confiance pour ne pas risquer d'avoir une injection de JavaScript dans la page courante. Sécurité Pour renforcer la sécurité des données transmises, il est possible d'utiliser une page sécurisée (URL de type https).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|