PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Résultat de la procédure serveur
  • Procédures pouvant être appelées par AJAX
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
AJAXExécute (Fonction)
En anglais : AJAXExecute
Exécute une procédure serveur sans rafraîchir la page. Cette fonction est bloquante. Tant que le résultat de la procédure exécutée n'est pas récupéré, aucun autre traitement n'est exécuté.
Pour éviter de bloquer les traitements, utilisez la fonction AJAXExécuteAsynchrone.
Remarque : Les navigateurs anciens ne supportent pas la technologie AJAX (Internet Explorer 5.5 et supérieur, FireFox 1.0 et supérieur, Netscape 7 et supérieur, Opera 8 et supérieur, Safari 1.2 et supérieur, ...). 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).
// AJAX supporté sur le navigateur en cours ?
SI AJAXDisponible() = Vrai ALORS
// Exécution de la procédure serveur "MaProc"
Res est une chaîne
Res = AJAXExécute(MaProc, IDProduit, VilleClient)
// Utilisation des données à modifier
...
SINON
// Traitements sans utilisation de AJAX
...
FIN
// -- Procédure serveur MaProc // --
// Procédure permettant de rechercher les données à modifier dans la page
PROCEDURE MaProc(RefProd, CVille)
// Recherche des données à modifier
...
// Renvoi du résultat
RENVOYER Résultat1
Syntaxe
<Résultat> = AJAXExécute([<Options>, ] <Nom de la procédure> [, <Paramètre 1> [, ... [, <Paramètre N>]]])
<Résultat> : Chaîne de caractères
Résultat de la procédure <Nom de la procédure>. Ce résultat contient les données à modifier dans la page.
<Options> : Constante de type Entier
Versions 20 et supérieures
Mode de réactualisation :
ajaxActualiseChampsLes 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.
Versions 23 et supérieures
ajaxSansBloquerContexteAWP
Nouveauté 23
ajaxSansBloquerContexteAWP
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.
Attention : ces constantes doivent être utilisées directement (il n'est pas possible d'utiliser une variable pour stocker leur valeur).
Nouveauté 20
Mode de réactualisation :
ajaxActualiseChampsLes 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.
Versions 23 et supérieures
ajaxSansBloquerContexteAWP
Nouveauté 23
ajaxSansBloquerContexteAWP
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.
Attention : ces constantes doivent être utilisées directement (il n'est pas possible d'utiliser une variable pour stocker leur valeur).
Mode de réactualisation :
ajaxActualiseChampsLes 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.
Versions 23 et supérieures
ajaxSansBloquerContexteAWP
Nouveauté 23
ajaxSansBloquerContexteAWP
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.
Attention : ces constantes doivent être utilisées directement (il n'est pas possible d'utiliser une variable pour stocker leur valeur).
<Nom de la procédure> : Chaîne de caractères (avec ou sans guillemets)
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.
Le résultat de cette procédure doit être une chaîne de caractères renvoyée au navigateur grâce au mot-clé RENVOYER. Pour plus de détails, consultez les remarques.
Cette procédure doit être autorisée à être appelée par AJAX (voir les Notes).
<Paramètre 1> : Chaîne de caractères optionnelle (avec guillemets)
Premier paramètre passé à la procédure <Nom de la procédure>.
<Paramètre N> : Chaîne de caractères optionnelle (avec guillemets)
Nième paramètre passé à la procédure <Nom de la procédure>.
Remarques

Résultat de la procédure serveur

La procédure serveur <Nom de la procédure> 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.
Ce résultat sera automatiquement contenu dans le paramètre <Résultat> de la fonction AJAXExécute. 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 AJAX
Procédure pouvant être appelée par AJAX
Composantes
WEBDEV - Code Navigateur WDJS.DLL
Version minimum requise
  • Version 10
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire