Bonjour à vous,

Je viens de débuter l'ajax. Ce concept est trés intérréssant.
Aprés la lecture de mon premier bouquin, je suis arrivé à pondre ce code là.

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<HEAD>
		<TITLE>GregProg'z Ajax Party : Test d'ajax en grandeur nature</TITLE>
		<script language="JavaScript">
 
		// variable à laquelle on affectera l'objet xhr
		var ajax = null;
 
		// variable nécessaire afin de contourner le but de firefox
		var status = "";
 
		// Initialisation du nécessaire XMLHttRequest
		function init()
		{
			if(window.XMLHttpRequest && !(window.ActiveXObject))
				{
					try {
 
						ajax = new XMLHttpRequest();
						ajax.overrideMimeType('text/xml');
					}
					catch (e) 
					{
						ajax = false;
					}
				}
				else if(window.ActiveXObject) 
				{ 
					var version = ['Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP']; 
 
					  for(var i=0; !ajax && i<version.length; i++)
    				  {
						try
							{
							   ajax = new ActiveXObject(version[i]);
							}
						catch(e)
							{
							    ajax = false;
							}
    				 }
				}
				else
				{
					alert('Votre navigateur ne supporte la technologie ajax. Veuillez vous mettre à jour !');
				}
		}
 
 
		// fonction appellé au changement du "on readystatechange"
		function process()
		{
			if (ajax.readyState == 4)
			{
				// debug => sous firefox, je ne vois rien. Sous ie .. parfait
				alert(ajax.status);
			}
 
		}
 
		// fonction appellé par mon petit formulaire
		function first() 
		{
				// initialisation de l'objet XHR
				init();		
 
				// on assigne la fonction appellé à chaque changement de state
				ajax.onreadystatechange = process;
 
				// débug => j'affiche le nom d'objet xhr. Je bossais avec firefox et ie
				alert(ajax);
 
				// on lance la requête !
				ajax.open('GET','info.txt',false);
				ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  
 
				ajax.send(null);
 
		}		
 
		</script>
 
		<STYLE>
 
		#ajax {
		position:relative;
		width:100%;
		height: 200px;
		top:400px;
		background-color:white;
		color:red;
		font-size:70px;
		}
 
		.over3{
		overflow: scroll;
		}
 
 
		</STYLE>
 
 
	</HEAD>
 
<BODY>
 
<form method="POST" name="formulaire">
<input type="text" name="url">
<input type="submit" onclick="first()">
</form>
 
<div id="ajax" class="over3"></div>
 
</BODY>
</html>

Voila la page tel qu'elle est enregistrée sur mon serveur.

Tout d'abord, j'ai un problème au niveau de l'accés d'ajax.status avec firefox. Aprés avoir navigué sur le forum, j'ai trouvé la réponse à mon problème. Malgré cela, avec firefox, il m'est pas possible de voir le contenu de mon fichier info.txt (alert("ajax.responseText") => me donne un msgbox vide) ! Sous i.e, tout fonctionne bien
Ce qui me chagrine est qu'avec d'autres scripts, tout fonctionne sous firefox malgré le fait que les lignes codes soient un peu prés semblables. Trés trés bizarre !


De plus, sous i.e et firefox .. ma page entière se recharge . Je le constate avec mon inputbox qui revient à 0.
Je ne comprends pas pourquoi étant donné que je fais une requête asynchrone alors qu'avec les autres scripts exemples, la page entière ne se recharge pas.

En tout cas, je remercie les personnes qui prendront la peine de lire ce message et d'essayer de m'apporter une réponse. J'ai cogité une journée dessus .. !
il est 5h29 ....

à trés bientôt.