Bonsoir,
Je suis un débutant en Ajax (histoire de tester !) et je n'arrive pas a faire fonctionner rien qu'un petit exemple d'utilisation de AJAX.
J'utilise l'édition Express de Visual Web Developer 2005.
Voici mon code :
le fichier data.xml se trouve sous la meme arborescence que le fichier de code ci-dessus.
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 <html> <head> <title>Utilisation de Ajax</title> <script language = "javascript"> var XMLHttpRequestObject = null; if (window.XMLHttpRequest) { XMLHttpRequestObject = new XMLHttpRequest(); } else if (window.ActiveXObject) { XMLHttpRequestObject = new ActiveXObject(Microsoft.XMLHTTP); } function getData() { if(XMLHttpRequestObject) { var obj = document.getElementById(targetDiv); XMLHttpRequestObject.open("GET", "data.xml"); XMLHttpRequestObject.onreadystatechange = function() { alert("XMLHttpRequestObject.readyState : " + XMLHttpRequestObject.readyState); if (XMLHttpRequestObject.readyState == 4) { alert("XMLHttpRequestObject.status : " + XMLHttpRequestObject.status); if (XMLHttpRequestObject.status == 200) { obj.innerHTML = XMLHttpRequestObject.responseText; } else alert("Erreur : " + XMLHttpRequestObject.responseText); } } XMLHttpRequestObject.send(null); } } </script> </head> <body> <form> <input type = "button" value = "Afficher le Message" onclick ="getData();"> </form> <div id="targetDiv"> <p>Les données vont s afficher là.</p> </div> </body> </html>
Dans mon fichier "data.xml" se trouve :
Je fais afficher les valeurs de XMLHttpRequestObject.readyState et de XMLHttpRequestObject.status, la valeur de readyState passe bien à 4.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?xml version="1.0" encoding="utf-8"?> <toto> Ajax fonctionne ! </toto>
Par contre la valeur de status reste à 404. Autrement dit, il ne trouve pas mon fichier data.xml.
Sauriez vous comment résoudre ce problème?
Merci par avance pour vos réponses et idées.
GuileIzback.
Partager