ReadyState se bloque en 1

aisha -  
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 :
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

  1. aljegre12 Messages postés 6 Statut Membre 2
     
    ou est le code du function getXhr()
    ecrit tout le code de xmlhttprequest pour le voire depuit le debut
    ou essayer ce code
    function 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);
    }
    
    0