IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[POO] [Orienté objet] Affectation d'une variable


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 49
    Points : 34
    Points
    34
    Par défaut [POO] [Orienté objet] Affectation d'une variable
    Bonjour à tous,

    Alors je me mets au javascript orienté objet. J'ai une fonction qui me crée un objet XMLHttpRequest suivant le navigateur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    function createXHR() {
     
    	var xhr = false;
     
        	try {
     
    		xhr = new ActiveXObject('Msxml2.XMLHTTP');
     
    	} catch (err2) {
     
                try {
     
                    xhr = new ActiveXObject('Microsoft.XMLHTTP');
     
                } catch (err3) {
     
    			try {
     
    				xhr = new XMLHttpRequest();
     
    			} catch (err1) {
     
    				xhr = false;
     
    			}
     
                }
     
            }
     
        return xhr;
     
    }
    Ensuite, je crée une fonction de création d'objet Request.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function Request(pFile) {
     
    	this.file = pFile;
     
    	this.Response = null;
     
    }
    Et pour cet objet, je lui ajoute une méthode GET
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Request.prototype = {
    	GET : function() {
     
    		var xhr = createXHR();
     
    		xhr.open("GET", this.file, true);
     
    		xhr.onreadystatechange = function() {
     
    			if (xhr.readyState == 4) {
     
    				if (xhr.status != 404) {
     
    					this.Response = eval("(" + xhr.responseText + ")");
     
    				}
     
    			}
     
    		}
    		xhr.send(null);
     
    	}
    }
    Après avoir crée un nouvel objet Request, appelé la méthode GET, si je cherche à accéder à ma variable Response, cela m'affiche null.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var request = new Request("data.txt");
     
     
    	request.GET();
     
     
    	var response = request.Response;
    	alert(response);
    Donc apparement mon affectation dans ma function GET n'a pas fonctionné.
    Suis-je clair ? Ma question est donc la suivante : comment affecter ma variable Response dans ma function GET afin que celle ci soit conservée par la suite ?

    Merci d'avance

  2. #2
    Membre averti Avatar de marts
    Inscrit en
    Février 2008
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 233
    Points : 425
    Points
    425
    Par défaut
    c'est parce que tu lis la réponse avant qu'elle ne soit arrivée que ça affiche null.
    (ta requête est asynchrone et donc ton script n'attend pas la réponse du serveur pour continuer son exécution).

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/10/2008, 10h14
  2. [POO] Récupérer le type d'une variable Objet
    Par whitespirit dans le forum Langage
    Réponses: 4
    Dernier message: 10/06/2008, 10h13
  3. Affectation d'une variable dans un état
    Par tamerlan dans le forum Access
    Réponses: 26
    Dernier message: 04/04/2006, 09h09
  4. [DEBOGUEUR] tracer l'affectation d'une variable
    Par mimil dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 15/03/2006, 17h08
  5. [POO] Déclaration de classe selon une variable
    Par Michaël dans le forum Langage
    Réponses: 1
    Dernier message: 07/01/2006, 18h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo