ReadyState se bloque en 1

Fermé
aisha - 18 avril 2014 à 10:44
aljegre12 Messages postés 6 Date d'inscription mardi 8 avril 2014 Statut Membre Dernière intervention 19 avril 2014 - 18 avril 2014 à 21:15
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 :)


A voir également:

1 réponse

aljegre12 Messages postés 6 Date d'inscription mardi 8 avril 2014 Statut Membre Dernière intervention 19 avril 2014 2
18 avril 2014 à 21:15
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