Bonjour,
Je souhaiterais à partir d'un XMLHttpRequest récupérer la sélection d'une liste déroulante et l'envoyer coté PHP en GET afin de modifier ma variable $année dans mon script PHP.
Le souci c'est que la variable $_GET reste "undefined" alors que ma requête es bien exécutée.
Je suis bloqué et je ne vois pas l'erreur. Pouvez-vous m'aider ? Merci

coté JavaScript:
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
mem.onclick = function(){
let mem = document.getElementById("annee");
 
 
//let formData = new FormData(document.forms.f1);
//On crée un objet XMLHttpRequest
var xhr = new XMLHttpRequest();
 
	//onreadystatechange function
	xhr.onreadystatechange = function(){
    if (this.readyState == 4 && this.status == 200){
 
        console.log("connexion réussie !");
        //console.log(mem.value);
        document.getElementById('p1').innerHTML=mem.value;
        //console.log(xhr.response);
        //console.log(xhr);
 
        //rafraichit la page
        //window.location.replace('http://localhost/module/tdb.php')
 
    } 
    else if (this.readyState == 4){
        console.log("une erreur est survenue");
    }
 
};
	console.log(mem.value);
	//alert (mem.value);
    var data="an="+ mem.value;
 
 
	//On initialise notre requête avec open()
	xhr.open("GET", "tdb.php", true);
 
 
	//Définition des paramètres
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 
	//On veut une réponse au format JSON
	xhr.responseType = "json";
 
 
	//On envoie la requête
	xhr.send(data);
	console.log(data);
};

côté PHP
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
<label for="annee">Sélectionner l'année :</label>
 <form>
 <select name="annee" id="annee"> 
 <option value=2022 selected>2022</option>
 <option value=2023>2023</option>
 <option value=2024>2024</option>
 </select>
 </form>
 
<script type="text/javascript"  src="tdb.js"></script>
 
<p id="p1"></p>
 
<?php
 
$annee = json_encode($_GET['an']);
 
?>