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