Bonjour,
Je souhaite mettre à jour une liste d'articles en fonction d'un choix de type d'article. Les fonctions ci-dessous ont déjà servi dans mon appli sans problèmes, mais je m'arrache les cheveux depuis ce matin car readyState est sur undefined, et l'alerte que j'ai provisoirement mise aus lignes 40-43 affiche 4 fois cette valeur. Le Statut est bien à 200.
Voyez-vous où il y a un problème ?
Merci d'avance pour votre aide !
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 function getXhr() { var xhr = null; if(window.XMLHttpRequest) // Firefox et autres xhr = new XMLHttpRequest(); else if(window.ActiveXObject) { // Internet Explorer try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } return xhr } function maj_liste_articles() //quand l'utilisateur change le type d'articles à afficher { var xhr = getXhr() // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function() { // On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(xhr.readyState == 4 && xhr.status == 200) { resultat = xhr.responseText; document.getElementById('article').innerHTML = resultat; } else { alert(xhr.readystate); } } // préparation du post xhr.open("POST","ajax_index.php",true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // ne pas oublier ça pour le post var typearticle = document.getElementById('typeart'); //type d'article à afficher xhr.send("ajax_action=maj_liste_articles&typeart=" + typearticle.value); }
Partager