Page 1 sur 1

Valeur de retour d'une fonction

Posté : 20 déc. 2020, 22:02
par charlessapin
Bonjour,
Je veux récupérer la valeur de retour d'une fonction et je n'y arrive pas ! Je tourne en rond depuis quelques heures et je passe donc le relais :-(

Ma fonction javascript "js_infos(ref, lang)" appelle une fonction php "infos(valeurs)" qui retourne la valeur d'un champs d'une base de données dans la langue voulue.
Je reçois bien la bonne valeur dans "function( data )"
Dans la console j'ai
dedans : la bonne chaine de caractère
Par contre, je ne sais pas comment sortit cette valeur de ma fonction !
Dans la console, j'ai
dehors :undefined
Mon dernier essais était de déclarer tmp_val en variable global (avant tout appel à une fonction js).

Code : Tout sélectionner

function js_infos(ref, lang) {
	var valeurs = [ref, lang];
	var result = $.post('/php/fonctions.php', { fonction : 'infos', data : valeurs}, function( data ) {
		tmp_val = data.ref;
		console.info( "dedans :" + tmp_val);
		}, "json");
		
	result.fail(function(jqXHR, textStatus, error){ 
      console.log(jqXHR, textStatus, error); // use the debugger to see what’s going on here.
	})
	
	console.info( "dehors :" + tmp_val);
	return tmp_val;
}
Merci d'avance pour votre aide ;-)

Charles

Re: Valeur de retour d'une fonction

Posté : 21 déc. 2020, 09:18
par charlessapin
Bonjour,
J'avais, entre autre, un problème lié à une communication asynchrone...
J'ai résolu celui-ci de la manière suivante :

Code : Tout sélectionner

function js_infos(ref, lang, callback) {
	var valeurs = [ref, lang];
	var result = $.post('/php/fonctions.php', { fonction : 'infos', data : valeurs}, function( data ) {
		callback(data.ref);
		}, "json");
	result.fail(function(jqXHR, textStatus, error){ 
      console.log(jqXHR, textStatus, error); // use the debugger to see what’s going on here.
	})
}
J'avais aussi un problème de fonction appelante qui était fermée (cf problème de variable global qui ne fonctionnait pas comme prévu).
Charles

Re: Valeur de retour d'une fonction

Posté : 19 déc. 2024, 10:10
par Hunne1974
charlessapin a écrit :
21 déc. 2020, 09:18
Bonjour,
J'avais, entre autre, un problème lié à une communication asynchrone...
J'ai résolu celui-ci de la manière suivante :

Code : Tout sélectionner

function js_infos(ref, lang, callback) {
	var valeurs = [ref, lang];
	var result = $.post('/php/fonctions.php', { fonction : 'infos', data : valeurs}, function( data ) {
		callback(data.ref);
		}, "json");
	result.fail(function(jqXHR, textStatus, error){ 
      console.log(jqXHR, textStatus, error); // use the debugger to see what’s going on here.
	})
}
J'avais aussi un problème de fonction appelante qui était fermée (cf problème de variable global qui ne fonctionnait pas comme prévu).
Charles
J'ai également le même problème.

Re: Valeur de retour d'une fonction

Posté : 17 mai 2025, 17:42
par Gilbert
Ah ouaisvariabledcpowersupply,le bon vieux piège de l'asynchronicité en JS wireedmmachines😅 !crazycattle3d Ton tmp_val est loggé "dehors" avant même que la réponse du serveur n'arrive. cheesechompers3dPour gérer ça, blockblastfaut passer par un callback ou utiliser async/await.theplanetclicker Bon courage,tgramappt’es pas le premier à te faire avoir, tkapkt’inquiète ! 💪

Re: Valeur de retour d'une fonction

Posté : 07 juin 2025, 09:54
par gavin1987
Ah, la valeur de retour d'une fonction! Toujours un sujet intéressant en JavaScript. Ça me rappelle mes débuts, galère galère! Toujours utile de voir les questions des autres et les solutions proposées.free game

Re: Valeur de retour d'une fonction

Posté : 20 juin 2025, 10:44
par Easton
Haha, super fil ! 😄 Pour ceux qui aiment coder et trouver des noms originaux (projets, persos, marques, etc.), j'utilise souvent Best Name Generators — c’est gratuit et plein d’idées cool à explorer (https://www.bestnamegenerators.com/)