récuperer dans une méthode une variable d'une fonction

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : récuperer dans une méthode une variable d'une fonction

Re: récuperer dans une méthode une variable d'une fonction

par laurentg2003 » 26 févr. 2010, 21:47

merci bcp
j'ai trouvé ça sur le net http://www.javascriptfr.com/codes/CLASS ... 42438.aspx
comme un idiot dans google je tapais pas classe javascript ajax...... :oops:
En tout cas merci =D>

Re: récuperer dans une méthode une variable d'une fonction

par stealth35 » 26 févr. 2010, 17:08

je t'ai dis que en asynchrone ca marcherai pas, pense que ca marche comme les écouteurs en AS3

Code : Tout sélectionner

ObjectAjax.prototype.exReq=function(){ this.methode=function(){ this.value=null; var readyState = this.readyState; if (readyState == 4) { this.value= this.responseText; alert('test 1 : ' + this.value); } } this.req.open('GET','ajax.php',false); this.req.onreadystatechange=this.methode; var object= new this.methode; this.req.send(null); alert('test 2 : ' + object.value);

Re: récuperer dans une méthode une variable d'une fonction

par laurentg2003 » 26 févr. 2010, 17:03

oui voilà
cela dit j'ai regarder dojo et la doc est déplorable dommage
et je pense avoir trouver la solution à mes ennuis
j'ai tendance à réinventer la roue pour apprendre
mais là je vais pa le faire
la solution se trouve là je pense
http://prototype.js.le-developpeur-web.com/#ajax

Re: récuperer dans une méthode une variable d'une fonction

par stealth35 » 26 févr. 2010, 16:49

normal,
ton alert(this.value); s'affiche bien (j'espere)
mais ton alert(object.value) ne s'affiche pas

Re: récuperer dans une méthode une variable d'une fonction

par laurentg2003 » 26 févr. 2010, 16:27

Voici mon nouveau code

Code : Tout sélectionner

ObjectAjax.prototype.exReq=function(){ this.methode=function(){ this.value=null; var readyState = this.readyState; if (readyState == 4) { this.value= this.responseText; alert(this.value); } } this.req.open('GET','ajax.php',true); this.req.onreadystatechange=this.methode; var object= new this.methode; alert(object.value); this.req.send(null); }
Donc j'ai suivi ton conseil une méthode dans une méthode et du coup this.methode devient un constructeur
alert(object.value); devrait me renvoyer ma valeur this.responseText; béh non #-o
value n'est même pas reconnu comme une propriété
il y a peut être un soucis au niveau de ces this

Re: récuperer dans une méthode une variable d'une fonction

par stealth35 » 26 févr. 2010, 13:54

si j'ai bien compris tu voudrais mettre le "responseText" dans "this.load" ?
Apres dans quelle fonction tu récupérer le responseText pour le manipuler ?

Re: récuperer dans une méthode une variable d'une fonction

par laurentg2003 » 26 févr. 2010, 13:50

oui mais tout simule la poo pseudo classe etc
merci je vais aller jeter un coup d'œil à ta source
je suis têtu lol

Re: récuperer dans une méthode une variable d'une fonction

par stealth35 » 26 févr. 2010, 13:30

mais la c'est pas de la POO mais de la POP (programmation orienté prototype) :wink:
ja faire un tour dans les source de Dojo qui lui est en object http://www.dojotoolkit.org/

Re: récuperer dans une méthode une variable d'une fonction

par laurentg2003 » 26 févr. 2010, 10:11

j'ai essayé bien sûr ,le probleme n'est pas si ça récupere une valeur c'est comment la récuperer
vu que l' alert l'affiche
peu importe que se soit synchrone ou asynchrone les 2 fonctionnent vu qui qu'il n'y a qu'une requête ajax
en procédurale ça marche de toute façon
je vois une chose l'absence de doc sur le net
on dit ajax ajax et pas de doc d'ajax en poo
je suis sur un autre forum et pas de réponse
mais j'ai trouvé la solution
j'ai appris la poo avec actionscript 3 je vais vite passé à flex
as3 est comme java coté client ça m'ettonerait que je rencontre ce genre de probleme
c'est un vrai langage de poo
pour moi c'est net ,si on veut faire de la poo c'est java et as3 ou même c# et .NET
en tout cas merci pour ton aide :)

Re: récuperer dans une méthode une variable d'une fonction

par stealth35 » 26 févr. 2010, 01:17

mais t'as essayé en synchrone ?
parce que en asynchrone tu risques pas de récupérer ta valeur a la méthode suivante :shock:

Re: récuperer dans une méthode une variable d'une fonction

par laurentg2003 » 26 févr. 2010, 00:03

Personne a une petite idée??? :priere:

Re: récuperer dans une méthode une variable d'une fonction

par laurentg2003 » 25 févr. 2010, 18:53

ah merci béh ça marche aussi lol

Re: récuperer dans une méthode une variable d'une fonction

par stealth35 » 25 févr. 2010, 18:41

oui synchrone (async = false), la tu étais en asynchrone (async = true)

Re: récuperer dans une méthode une variable d'une fonction

par laurentg2003 » 25 févr. 2010, 18:39

le contenu va à une méthode ensuite les autres traitent ce contenu
il n'y a donc qu'une requête vers le script php donc synchrone suffit
mais la récupération de this.responseText a rien avoir avec ça
C'est dingue je trouve que je ne trouve nul part un exemple de code avec les méthodes ajax de connexion orienté objet :(

Re: récuperer dans une méthode une variable d'une fonction

par stealth35 » 25 févr. 2010, 17:34

tu l'envoies a quel fonction le contenu ?
parce que la tu lance toutes les fonction a suivre, dans se cas la il va falloir se mettre en mode synchrone :

Code : Tout sélectionner

this.req.open('GET','test.php',false);

Code : Tout sélectionner

var ObjectAjax=function(){ this.req=null; if (window.ActiveXObject) { this.req = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { this.req = new XMLHttpRequest(); this.req.overrideMimeType('text/xml'); } }; ObjectAjax.prototype.exReq=function(){ this.load=null; this.req.open('GET','test.php',false); this.req.send(null); this.load = this.req.responseText; }; var obj = new ObjectAjax(); obj.exReq(); alert(obj.load); //hello