changement variable PHP avec XMLHttpRequest
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:
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:
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']);
?> |