[AJAX] Récuperer les informations d'une page executé
Bonjour à tous,
Je voudrait savoir comment récupérer une information d'une page executé par ajax.
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
|
function check_produit(){
var xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200){
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('info').innerHTML = leselect;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","ajax/ajax_check_produit.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ne pas oublier de poster les arguments
// ici, l'id de l'auteur
idauteur = document.getElementById('code_pdt').value;
//alert(idauteur);
xhr.send("idauteur="+idauteur);
var url = '/ajax/ajax_check_produit.php';
?????
{
case 'ok':
//traitement si c'est okay
alert('essai');
break;
case 'ko':
alert('essai');
//traitement si ce n'est pas bon
break;
}
}
});
} |
Explication:
- Je suis sur une page web (php) avec un champ input.
- Dans ce champ je rentre un numéro.
- a partir de la, en ajax j'interroge une page php pour savoir si oui ou non .
le produit existe.
- A partir de la, je voudrait pourvoir utiliser la réponse de la page php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
if(isset($_POST["idauteur"])){
$test= $_POST["idauteur"];
$sql3 = "select ref_pdt, code_pdt, nom_pdt FROM produit WHERE code_pdt = '$test' ORDER BY code_pdt";
$query3 = mysql_query($sql3) or die('erreur');
$nb3= mysql_num_rows($query3);
if ($nb3 == null){
$res['txt'] = "<br/> Pas de produit.";
$res['result'] = "ok";
} else {
$res['txt'] = "<br/> un ou plusieurs produit enregistrer.";
$res['result'] = "ko";
}
} |
ok ou ko pour réaliser une action en javascript.
Comment je peut faire? Est-il possible?
Merci d'avance pour votre aide
guigui69