PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → Retour Traitement AJAX
Retour Traitement AJAX
Débuté par Philippe SB, 27 oct. 2022 16:58 - 5 réponses
Membre enregistré
2 677 messages
Posté le 27 octobre 2022 - 16:58
Bonjour,

Quelqu'un a-t-il une idée sur comment récupérer la valeur d'une procédure dans le traitement "Retour de traitement ajax" ?

Aucune info dans l'aide...

Merci

--
Cordialement,

Philippe SAINT-BERTIN
Membre enregistré
1 638 messages
Posté le 28 octobre 2022 - 09:47
Hello,

Je pense qu'il y a plusieurs façon d'envisager cela. Tout dépend du format de réponse attendu et comment est fait ton appel AJAX.

Car tu n'es pas obligé d'utiliser le partie "code serveur" dans l'éditeur.
Tu peux par exemple, dans la partie code navigateur appeler ton traitement serveur et récupérer une valeur (voir même mettre a jour les champs)

sRetour est une chaîne = AJAXExecute(ajaxActualiseChamps,MaProcédureServeur,SAI_Valeur)
// Considérant que MaProcédureServeur renvoi une chaine par exemple, et SAI_Valeur étant un paramètre a passer à MaProcédureServeur
Message modifié, 28 octobre 2022 - 09:48
Membre enregistré
1 638 messages
Posté le 28 octobre 2022 - 09:49
La 2eme solution que je vois, est de passer par un champ "caché".
Un champ de saisie qui viendra stocker le retour de la procédure.

Tu alimente ce champ durant le traitement serveur et tu viens le lire dans le retour ajax.
Membre enregistré
2 677 messages
Posté le 02 novembre 2022 - 08:57
Salut,

J'avais déjà opté pour la première méthode mais je voulais utiliser ce fameux évènement qui ne sert en fait à rien si je comprends bien en tout cas ou tout du moins à pas grand chose.

Meci

--
Cordialement,

Philippe SAINT-BERTIN
Posté le 09 novembre 2022 - 10:46
Une piste, utiliser une variable partagé entre le navigateur et le serveur avec la syntaxe suivante dans la déclaration de celle-ci :
bMaVariable est un booléen, synchronisé navigateur

On alimente cette variable dans le code serveur avec ajax activé et dans le code de retour après ajax on lit cette variable.
Membre enregistré
1 message
Posté le 06 novembre 2024 - 07:43
Je confirme bel et bien que la réponse de Vinns est the way to go.
Voici un exemple pratique, un clic sur un bouton BTN_Enregistre qui enregistre le contenu du champ SAI_Valeur dans le fichier ELEMENT:

Declarations globales de la page
gbEnregistréAvecSuccès est un booléen


Procédure serveur d'enregistrement
Procedure AjouterElement(bStatut est un booléen, LOCAL sValeur est une chaîne)
// ...

// Enregistrement et Affectation du statut
ELEMENT.Valeur = sValeur
bStatut = ELEMENT.Ajoute()

// ...
FIN


Clic sur BTN_Enregistrer (serveur) [Ajax Activé]
AjouterElement(gbEnregistréAvecSuccès, SAI_Valeur)


Retour de traitement AJAX après le clic sur BTN_Enregistrer (navigateur)
Info(gbEnregistréAvecSuccès = Vrai ? "Enregistré avec succès" SINON "Une erreur est survenue")