|
|
|
|
|
- Résultat de la procédure serveur
- Procédures pouvant être appelées par AJAX
- Divers
- Anciens navigateurs
AJAXExécuteAsynchrone (Fonction) En anglais : AJAXExecuteAsynchronous Exécute une procédure serveur sans rafraîchir la page. Cette fonction n'est pas bloquante. Les autres traitements continuent de s'exécuter normalement (que le résultat de la procédure exécutée soit récupéré ou non). Dès que le résultat de la procédure serveur est disponible, la fonction AJAXExécuteAsynchrone appelle automatiquement une procédure navigateur permettant de récupérer ce résultat. Pour bloquer les traitements tant que le résultat de la procédure serveur exécuté n'est pas récupéré, utilisez la fonction AJAXExécute. // AJAX supporté sur le navigateur en cours ? SI AJAXDisponible() = Vrai ALORS // Exécution de la procédure serveur "MaProc" // Dès que le résultat de la procédure serveur "MaProc" sera disponible, // la procédure navigateur "ProcRésultat" sera exécutée Res est un entier Res = AJAXExécuteAsynchrone(MaProc, ProcRésultat, NomClient, Bonus) // Les traitements suivants s'exécutent sans attendre le résultat ... SINON // Traitements sans utilisation de AJAX ... FIN // -- Procédure serveur MaProc // -- // Procédure permettant de rechercher les données à modifier dans la page PROCÉDURE MaProc(ClientNom, TauxRed) // Recherche des données à modifier ... // Renvoie le résultat RENVOYER LeRésultat // -- Procédure navigateur ProcRésultat // -- // Procédure appelée automatiquement dès que le résultat de la procédure "MaProc" est disponible // Le paramètre "DonnéesModifiées" correspond au résultat de la procédure serveur MaProc PROCÉDURE ProcRésultat(DonnéesModifiées, Res) // Analyse du résultat et mise à jour des champs modifiés ... Syntaxe
<Résultat> = AJAXExécuteAsynchrone([<Options>, ] <Procédure serveur> , <Procédure navigateur> [, <Paramètre 1> [... [, <Paramètre N>]]])
<Résultat> : Entier Identifiant de l'appel de la procédure <Procédure serveur>. Cet identifiant sera utilisé par les autres fonctions AJAX. <Options> : Constante de type Entier Mode de réactualisation : | | ajaxActualiseChamps | Les champs modifiés sont automatiquement actualisés dans la page. | ajaxAppelSimple (valeur par défaut) | Les champs modifiés ne sont pas actualisés dans la page. | ajaxEnvoieValeurChamps | La valeur de tous les champs de la page doit être envoyée au serveur. La procédure WLangage serveur utilisera ainsi la valeur des champs en cours de saisie dans le navigateur. | ajaxSansBloquerContexteAWP | L'appel Ajax ne va pas utiliser le contexte AWP et donc il ne va pas bloquer ce contexte. Permet de paralléliser les appels Ajax sur le serveur. Attention : Cette constante n'a pas d'effet en GO de page ou de projet. | ajaxSynchroniseVariablesServeur | L'appel Ajax va transmettre les variables ayant l'attribut <Synchronisé navigateur>. | Attention : ces constantes doivent être utilisées directement (il n'est pas possible d'utiliser une variable pour stocker leur valeur). <Procédure serveur> : Nom de procédure Nom de la procédure serveur à exécuter (procédure globale ou locale). Cette procédure permet de rechercher les données à modifier dans la page. Cette procédure est de la forme :
PROCEDURE <Procédure serveur> (<Paramètre 1>, <Paramètre 2>, ...) Cette procédure doit être autorisée à être appelée par AJAX (voir les Notes). <Procédure navigateur> : Nom de procédure Nom de la procédure navigateur (globale ou locale) exécutée automatiquement dès que le résultat de la procédure <Procédure serveur> est disponible. Cette procédure est de la forme :
PROCEDURE <Procédure navigateur> (<Résultat de la procédure serveur>, <Identifiant de la procédure serveur>) où :- <Résultat de la procédure serveur> est une chaîne de caractères correspondant au résultat renvoyé par la procédure <Procédure serveur>.
- <Identifiant de la procédure serveur> est un entier correspondant à l'identifiant de l'appel de la procédure <Procédure serveur> (paramètre <Résultat> de la fonction AJAXExécuteAsynchrone).
<Paramètre 1> : Chaîne de caractères optionnelle Premier paramètre passé à la procédure <Procédure serveur>. Attention : Seuls les types simples sont utilisables (chaîne de caractères, entier, ...). Les types structurés ne peuvent pas être utilisés. <Paramètre N> : Chaîne de caractères optionnelle Nième paramètre passé à la procédure <Procédure serveur>. Attention : Seuls les types simples sont utilisables (chaîne de caractères, entier, ...). Les types structurés ne peuvent pas être utilisés. Remarques Résultat de la procédure serveur La procédure serveur <Procédure serveur> permet de rechercher les données à modifier dans la page. Le résultat de cette procédure, c'est-à -dire les données à modifier, peut être contenu dans une simple chaîne de caractères ou dans un document XML (créé et manipulé grâce aux fonctions XML). Pour renvoyer ce résultat au navigateur, il suffit d'utiliser le mot-clé RENVOYER en spécifiant : - soit la chaîne de caractères contenant les données.
- soit le nom du document XML contenant les données.
Dès que ce résultat est disponible, la procédure <Procédure navigateur> s'exécute automatiquement. Le premier paramètre de la procédure <Procédure navigateur> contient ce résultat. Il suffit ensuite de gérer ce résultat pour rafraîchir les données à modifier. Si ce résultat correspond au nom d'un document XML, ce document sera automatiquement transmis et créé sur le navigateur. Ce document pourra alors être manipulé grâce aux fonctions XML. Remarque : Dans le cas d'utilisation d'un document XML : - le document XML n'est pas détruit automatiquement sur le serveur lors de sa transmission au navigateur.
- si un document XML du même nom existe déjà sur le navigateur, le nouveau document XML le remplace automatiquement.
Procédures pouvant être appelées par AJAX Par défaut, pour sécuriser les sites WEBDEV, les procédures serveurs sont protégées de tout appel illégal (tentative de détournement de session par exemple). Pour exécuter une procédure serveur à partir d'un traitement navigateur (fonction AJAXExécute ou AJAXExécuteAsynchrone), il est donc nécessaire d'autoriser l'appel de cette procédure par AJAX. Pour permettre l'appel d'une procédure serveur par AJAX, cliquez simplement sur le terme "AJAX" dans le bandeau de la procédure : Procédure ne pouvant pas être appelée par AJAXProcédure pouvant être appelée par AJAX- La fonction AJAXAppelAsynchroneEnCours permet de savoir si une procédure serveur appelée par la fonction AJAXExécuteAsynchrone est en cours d'exécution.
- La fonction AJAXAnnuleAppelAsynchrone permet d'annuler l'exécution automatique de la procédure navigateur appelée par la fonction AJAXExécuteAsynchrone.
Anciens navigateurs La fonction AJAXDisponible permet de savoir si le navigateur en cours supporte la technologie AJAX. Si un traitement utilisant la technologie AJAX est exécuté sur un navigateur ne supportant pas cette technologie, le traitement s'exécute "comme si" il n'utilisait pas la technologie AJAX (rafraîchissement de la page entière par exemple). Classification Métier / UI : Code neutre
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|