begin process at 2010 02 10 11:18:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Classes

 > 

onreadystatechange et this....


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

onreadystatechange et this....

mercredi 4 mars 2009 à 20:00:08 | onreadystatechange et this....

vinise

bonjour à tous

jai une petite question pour vous... j'ai créer une classe Ajax qui est et dans cette classe j'utilise onreadystatechange avec une fonction pour gerer les changement malheureusement je ne comprend pas pourquoi je ne peut pas utiliser le "this" dans  cette fonction...

function Ajax() {
.....
ceci =this;
        this.xmlHttp.onreadystatechange=function(){
            var readyState = ceci.xmlHttp.readyState;
           
            if (readyState==4 || readyState=="complete")
            {
                $(ceci.target).innerHTML=ceci.xmlHttp.responseText;
            } };

...

}

pourquoi sui-je obliger de sauver this dans une variable avant de l'utiliser??

jeudi 5 mars 2009 à 09:48:18 | Re : onreadystatechange et this....

Bul3

Membre Club
bonjour,
this c'est l'objet sur "lequel" on est"
dans une fonction, c'est... la fonction elle même
Cordialement
[mon Site][M'écrire]Bul

lundi 23 novembre 2009 à 16:12:37 | Re : onreadystatechange et this....

verdy_p

NON. This désigne l'objet dont on exécute la méthode.

Les fonctions isolées dans Javascript sont des méthodes ajoutées à l'objet document (dans ce cas this sera généralement le document).

Cependant pour les évènements AJAX, this sera l'objet dans lequel la requête XHTTP a été créée et un objet XHTTP est normalement créé indépendamment du document. Du coup pour accéder au document il faut en sauvegarder une référence.

Bref la variable "ceci" devrait plutôt être appelée "document" dans le code ci-dessus. Mais elle est même inutile puisque un objet XHTTP a un champ dédié pour ça: "target", qu'on peut renseigner avec la référence au document, ou à un de ses éléments.

function Ajax() {
.....
xmlHttp.target = document;
xmlHttp.onreadystatechange = function() {
var readyState = this.readyState;
if (readyState == 4 || readyState == "complete") {
var element = this.target.getElementById('Xyz');
element.innerHTML = this.responseText;
}
};
...
}

ou

function Ajax() {
.....
xmlHttp.target = document.getElementById('Xyz');
xmlHttp.onreadystatechange = function() {
var readyState = this.readyState;
if (readyState == 4 || readyState == "complete") {
var element = this.target;
element.innerHTML = this.responseText;
}
};
...
}
lundi 23 novembre 2009 à 16:58:15 | Re : onreadystatechange et this....

Bul3

Membre Club
ça fait 2 fois que tu interviens sur de vieux sujets
une question ? tu testes ce que tu avances ?
car ici aussi, esaye, ça ne marche pas !
lundi 23 novembre 2009 à 17:00:57 | Re : onreadystatechange et this....

Bul3

Membre Club
il fallait lire :
car ici non plus, essaye, ça ne marche pas !
lundi 23 novembre 2009 à 17:17:49 | Re : onreadystatechange et this....

vinise

oui surtout apres 9 mois... je pense avoir résolut mon problème tu sais...
lundi 23 novembre 2009 à 17:29:25 | Re : onreadystatechange et this....

verdy_p

Arrêtez les questions de date, d'une part il était en haut de liste (je n'ai pas cherché longtemps les historiques), et le sujet était resté ouvert (personne n'avait répondu, et l'auteur non plus)
lundi 23 novembre 2009 à 17:33:47 | Re : onreadystatechange et this....

verdy_p

Dis donc BUL, tu joues les redresseurs, pour te croire obligé de surveiller tout ce qui se passe ici, pour critiquer dans la minute, histoire de faire fuir ceux qui viennent de temps en temps?
Je ne vois pas ce que j'ai écrit qui est incorrect. En revanche j'ai corrigé l'expression fausse "l'objet sur lequel on est" qui ne veut strictement rien dire et est encore plus ambigu que la question posée.
lundi 23 novembre 2009 à 17:47:10 | Re : onreadystatechange et this....
jeudi 26 novembre 2009 à 14:38:46 | Re : onreadystatechange et this....

Bul3

Membre Club
je ne surveille rien du tout
c'est toi qui interviens sur des sujets
qui datent, qui plus est pour raconter
n'importe quoi ( mais ce doit être la faute
de IE, c'est sûr !! ;)))

1 2

Cette discussion est classée dans : classe, ajax, xmlhttp, onreadystatechange, readystate


Répondre à ce message

Sujets en rapport avec ce message

FireFox 3 + Ajax = bug ? [ par rhan_659 ] Bonjour à tous Je suis face à un bug désopilant, un code en ajax qui fonctionne sous FF2 mais pas sous FF3 voila le code que j'utilise requete = Camino et Firefox (Mac) vs AJAX [ par HybridKat ] Bonjour,Je suis en train de faire une mise à jour sur un intranet pour utiliser AJAX.  Mes collègues de travail ont malheureusement chacuns installés Ajax Prototype Scriptaculous [ par piep14 ] Bonsoir, je cherche a mettre en place new Ajax.InPlaceEditor. Pour cela, j'ai fait :Code :<!--[if !IE IE7 non reconnu ? [ par caviar ] Salué ...j'ai ce code qui fonctionne parfaitement avec FF mais impossible sous IE7 (pas testé sur d'autres versions)            var xhr = null;        une seul variable post passe avec ajax ? [ par caviar ] Saluté...j'ai un petit problème bizare avec une fonction ajaxen fait un seul des paramètres que je veux envoyer à mon script php passe apparamentsi le Probelem au niveau des DOM en ajax [ par palazar ] Bonjour je developpe une pop up ajax qui apparait via un calendrierQd je souhaite ouvrir une nouvelle popup  relative à une nouvelle date  par dessus Uncauhgt exception: Permission refusée d'appeler la méthode Location.toString [ par satyre ] Bonjour à tous ! Je suis en plein developpement d'un annuaire de liens concernant la Gymnastique. Je boloque sur un formulaire que j'essaye de réalise Crhéer un lien dynamiquement avec ajax [ par caviar ] Saluté ...j'ai un petit problème ...j'ai un js appelé via ajax qui doit créer un lien dans un TD spécifiquej'essayevar lien = '</a& Boucle sur un script Ajax [ par caviar ] Salut à vous ô forts du JS...Je suis une fois de plus en train de galérer... enfin cette fois ci je crois que c'est enfin sur un problème digne de ce ajax and listbox [ par nvinvinvi ] j'ai un formulaire avec 2 listbox (catégorie/sous catégorie) la listbox sous catégorie est construite en fonction du choix fait dans la première. P


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales