[AJAX] Bug header location avec ajax
Bonjour,
Lors de l'appel d'une page PHP via XMLHttpRequest, j'ai besoin de faire une redirection vers une page qui va envoyer des requêtes à une BDD via la fonction header(Location: url) ...
Mais cette solution ne fonctionne que sur Firefox mais pas sur IE ni sur Safari. Ces derniers chargent bien la page PHP mais ne tiennent pas compte du header....
J'ai essayé de faire une redirection JS via window.location.href d'après la valeur de responseText mais cette solution ne me convient pas du tout. Il faut absolument que je trouve un moyen de rediriger en php.
Je vous mets ci-dessous une ébauche de mon code :
index.php
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
| function getXMLHttpRequest() {
var xhr = null;
if (window.XMLHttpRequest || window.ActiveXObject) {
if (window.ActiveXObject) {
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
} else {
xhr = new XMLHttpRequest();
}
} else {
alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
return null;
}
return xhr;
}
function ajax()
{
var xhr = getXMLHttpRequest();
var temperature = document.formulaire.temperature.value;
var ventilation = document.formulaire.ventilation.value;
xhr.open("GET", "post.php?temperature="+temperature+"&ventilation="+ventilation, false);
xhr.send(null);
return xhr.responseText;
}
} |
Un bouton valide le formulaire en appelant la fonction JS ajax qui transmet les infos saisies au fichier post.php que voici :
Code:
1 2 3 4 5 6
| <?php
$temperature=$_GET['temperature'];
$ventilation=$_GET['ventilation'];
$commande=$temperature.$ventilation;
header("Location: http://192.168.x.x/send.htm?remote=daikin&command=$commande");
?> |
Avez-vous une idée ? Merci :)