[AJAX] Est-il possible de renvoyer deux retour en AJAX ?
Bonjour tout le monde,
J'aimerais savoir si il est possible de renvoyer deux éléments en ajax ?
Je m'explique :
J'aimerais renvoyer un entier et une chaine de caractère, j'utilise donc ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <?php
//Permet d'afficher les images dans la page principale quand le user choisit une lettre erronée
$conn = mysql_connect("localhost","root","mdp");
$db=mysql_select_db("EICE", $conn);
$sql_nouveau_mot = "SELECT Avancement_Mot FROM mots WHERE ID = " .$_POST['ID']." ";
//echo $sql_nouveau_mot;
$req_nouveau_mot = mysql_query($sql_nouveau_mot);
$nouveau_mot_a_afficher = mysql_fetch_array($req_nouveau_mot);
echo $nouveau_mot_a_afficher['Avancement_Mot'];
$sql_image_actuelle = "SELECT Avancement_Image FROM mots WHERE ID = " .$_POST['ID']." ";
$req_image_actuelle = mysql_query($sql_image_actuelle);
$image_actuelle = mysql_fetch_array($req_image_actuelle);
echo $image_actuelle['Avancement_Image'];
?> |
et voici le code javascript :
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| function getXhr() {
var xhr = null;
if(window.XMLHttpRequest || window.ActiveXObject) {
if(window.ActiveXObject) {
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP"); //IE
} catch(e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP"); //IE
}
} else {
xhr = new XMLHttpRequest(); //firefox
}
} else {
alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
return null;
}
return xhr;
}
function Affich_picture(ID)
{
//alert(diff);
/*Ce if me permet de ne pas traiter le code si la valeur choisie est "Choisissez la difficulté"*/
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
//alert(xhr.readyState);
//alert(xhr.status);
if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0 ) )
{
//ici, je reçois tout simplement le $_POST['note']
image_a_afficher = xhr.responseText;
//alert(image_a_afficher);
/*ci-dessous document.getElementById('note_originale'+id).value, c'est le champ caché*/
if(image_a_afficher < 5)
{
document.getElementById('mot').innerHTML = '<font size="+6" color="#0033FF">' + LeMot + '</font>' ;
document.getElementById('image_pendu').innerHTML = '<img src="images/'+image_a_afficher+'.jpg" alt="potence" width="585" height="360" />' ;
}
else
{
document.getElementById('image_pendu').innerHTML = '<img src="images/'+image_a_afficher+'.jpg" alt="potence" width="585" height="360" />' ;
document.getElementById('PERDU').innerHTML = '<img src="images/game_over.jpg" alt="potence" width="585" height="360" />' ;
return;
}
// On se sert de innerHTML pour afficher le bouton
}
}
//Pour montrer une erreur, je pourrais retirer /PENDU et faire un alert de status
xhr.open("POST","AJAX/PENDU/Afficher_Image.php",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send("ID="+ID);
} |
Merci d'avance.
beegees