ReadyState se bloque en 1
aisha
-
aljegre12 Messages postés 6 Statut Membre -
aljegre12 Messages postés 6 Statut Membre -
Bonjour,
SVP ça fait 2 jour que je cherche sur google mais en vain , j'essaie que d'afficher un simple message avec ajax juste pour tester avant de faire mon traitement mais le readyState reste bloqué a 1 , voici le code :
fonction javascript :
fichier ajax :
Merci d'avance :)
SVP ça fait 2 jour que je cherche sur google mais en vain , j'essaie que d'afficher un simple message avec ajax juste pour tester avant de faire mon traitement mais le readyState reste bloqué a 1 , voici le code :
fonction javascript :
function prix_ref(index){
var xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
alert("readyState : "+xhr.readyState);
alert("status : "+xhr.status);
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && (xhr.status==0 || xhr.status==200)){
alert('prixDiv'+index);
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('prixDiv'+index).innerHTML = leselect;
}
}
xhr.open("POST","commande_ajax.php",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ref = document.getElementById('ref'+index).value;
qte = document.getElementById('qte'+index).value;
xhr.send("ref="+ref+"&qte="+qte+"&index="+index);
}
fichier ajax :
<?php
if(isset($_POST["ref"])&&isset($_POST["qte"])) {
$ref=$_POST["ref"];
$qte=$_POST["qte"];
$index=$_POST["index"];
echo 'Prix :<input type="text" class="vpb_item" name="prix'.$index.'" id="prix'.$index.'" onblur="prix_ref('.$index.')" value="'.$ref.'" />';
}
?>
Merci d'avance :)
1 réponse
-
ou est le code du function getXhr()
ecrit tout le code de xmlhttprequest pour le voire depuit le debut
ou essayer ce codefunction callScript ( scriptName, args ) { var xhr_object = null; // ### Construction de l'objet XMLHttpRequest selon le type de navigateur // Cas des navigateurs de type Netscape (Firefore, Conqueror, etc.) if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest(); // Cas du navigateur Internet Explorer else if(window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); // Cas des navigateurs ne comprenant pas cette technologie (anciens navigateurs) else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); return; } xhr_object.open("POST", scriptName, true); ///////////////////////////////////////////////// xhr_object.onreadystatechange = function() { if(xhr_object.readyState == 4) { alert(xhr.responseText); // DEBUG MODE //document.write(xhr_object.responseText); //eval(xhr_object.responseText); } return xhr_object.readyState; } //////////////////////////////////////////////// // XMLHttpRequest xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // Envoi de la requête xhr_object.send(args); } function formulP () // onclick="formulP()" {// --- Récupération des paramètres nécessaire au script de traitement ref = document.getElementById("ref").value; // vos variables qte = document.getElementById("qte").value;// vos variables var data = "ref=" + ref + "&qte=" + qte ; // --- Appel au script PHP de traitement callScript("le lien de fichier de traitement.extension",data); }