Bonjour tout le monde,
J'ai cette liste de sélection :
Sur chaque changement, j'appelle une fonction nommée affichage et je lui passe la valeur choisie de la liste de sélection.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <select name="listChoix_annee" onchange="affichage(this.value)"> <option>Choisissez une année</option> <option value="General">Général</option> <option value="BA1">BA1</option> <option value="BA2">BA2</option> <option value="BA3">BA3</option> <option value="MA1">MA1</option> <option value="MA2">MA2</option> </select>
Voici le code de mon fichier javascript :
J'arrive dans la fonction, l'alerte que j'ai mis en commentaire me l'a prouvé.
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 function affichage(annee) { //alert(annee); //je crée un objet de type XMLHTTPREQUEST (j'appelle la fonction) var xhr = getXMLHttpRequest(); // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function() { //alert(xhr.readyState); if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0 ) ) { xmlDoc=xhr.responseXML; if(xmlDoc!=null) { document.getElementById("td_annee_de_cours").innerHTML=xmlDoc.getElementsByTagName("annee_cours")[0].childNodes[0].nodeValue; document.getElementById("td_id").innerHTML=xmlDoc.getElementsByTagName("id")[0].childNodes[0].nodeValue; document.getElementById("td_date").innerHTML=xmlDoc.getElementsByTagName("date")[0].childNodes[0].nodeValue; document.getElementById("td_date_expiration").innerHTML=xmlDoc.getElementsByTagName("date_validite")[0].childNodes[0].nodeValue; document.getElementById("td_Titre").innerHTML=xmlDoc.getElementsByTagName("titre")[0].childNodes[0].nodeValue; document.getElementById("Corps").innerHTML=xmlDoc.getElementsByTagName("corps")[0].childNodes[0].nodeValue; document.getElementById("td_auteur").innerHTML=xmlDoc.getElementsByTagName("piece_jointe")[0].childNodes[0].nodeValue; document.getElementById("td_lien").innerHTML=xmlDoc.getElementsByTagName("auteur")[0].childNodes[0].nodeValue; document.getElementById("td_piece_jointe").innerHTML=xmlDoc.getElementsByTagName("lien")[0].childNodes[0].nodeValue; } else { alert("le retour est null"); } } } //Pour montrer une erreur, je pourrais retirer /PENDU et faire un alert de status xhr.open("POST","../AJAX/affichage.php",true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xhr.send("annee="+annee); }
Je passe donc une information (annee) au fichier php dont voici le code :
Dans le fichier js, j'ai fait ce test :
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 <?php header('Content-Type: text/xml'); header("Cache-Control: no-cache, must-revalidate"); //A date in the past header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); include('../PHP/connexion.php'); $sql = "SELECT * FROM messages WHERE Annee = '".$_POST['annee']."' ORDER BY ID DESC"; //echo $sql; $req = mysql_query($sql); //echo $req; //include('../index/regreplace.php'); echo '<?xml version="1.0" encoding="ISO-8859-1"?> <information>'; while($row = mysql_fetch_array($result)) { echo "<annee_cours>" . $row['Annee'] . "</annee_cours>"; echo "<id>" . $row['ID'] . "</id>"; echo "<date>" . $row['Date'] . "</date>"; echo "<date_validite>" . $row['Date_Validite'] . "</date_validite>"; echo "<titre>" . $row['Titre'] . "</titre>"; echo "<corps>" . $row['Corps'] . "</corps>"; echo "<piece_jointe>" . $row['Piece_jointe'] . "</piece_jointe>"; echo "<auteur>" . $row['Auteur'] . "</auteur>"; echo "<lien>" . $row['Lien'] . "</lien>"; } echo "</information>"; } ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if(xmlDoc!=null) {
J'obtiens à chaque fois l'alerte me disant que mon retour est null.
Sauriez-vous me dire pourquoi j'obtiens à chaque fois un retour null ?
Merci d'avance.
beegees
Partager