Bonjour,
Je suis en train de travailler sur un site personnel et jusqu'à maintenant je n'avais pas utiliser AJAX. Afin de dynamiser un peu mon travail j'ai décidé d'effectuer mes chargements de pages (dans une DIV) avec AJAX.
J'utilise AJAX depuis quelques temps déjà et je rencontre actuellement une erreur inconnue et insolvable...
J'ai cherché une solution sur le forum et sur google mais en vain.
Donc voilà mon code :
HTML :
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ... <a href="#" onclick="javascript:chargerPage(1);">Présentation</a> ...
Donc le lien qui appelle ma fonction JS :
Code JavaScript : 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 function chargerPage(unId) { var uneXhr = getXhr(); uneXhr.open("POST", "chargerLaPage.php", true); uneXhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); uneXhr.send("IdPage="+unId); uneXhr.onreadystatechange = function() { alert("Statut du serveur : "+uneXhr.status+" ; Etat : "+uneXhr.readyState); if(uneXhr.readyState == 4 && uneXhr.status == 200) { alert(uneXhr.responseText); document.getElementById('frame').innerHTML = uneXhr.responseText; } } } function getXhr() { var xhr = null; // Si le navigateur est firefox ou autres if(window.XMLHttpRequest) { // On crée l'xhr du bon type xhr = new XMLHttpRequest(); } // Sinon s'il s'agit d'IE else if(window.ActiveXObject) { // IE7 try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); // Version d'IE < 7 } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } // XMLHttpRequest non supporté par le navigateur else { alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } return xhr; }
Avec un Code Php :
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?php echo "blabla"; ?>
Mon 'alert(uneXhr.responseText);' ne s'affichait pas, j'ai donc vérifier le statut et l'état de la XHR :
Cela m'affiche 0 pour le statut et 4 pour l'état.
En mettant un test tel que 'if(uneXhr.readyState == 4 && uneXhr.status == 0)' l'affichage de la réponse de mon php est vide...
J'ai testé ce code sous Firefox en localhost et sur un serveur d'hébergement, mais avec toujours le même résultat...
Merci d'avance de consacrer un peu de votre temps à la résolution de mon problème.
Bonne soirée à vous,
Va_Viper.
Partager