[AJAX] La fonction eval transforme ma string en objects
Bonjour � tous,
J'utilise json pour remplacer le contenu de mes listes d�roulantes afin que �a fonctionne avec tous les browsers (surtout avec IE).
Pour cela, j'utilise ce code :
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
|
switch($arr[0])
{
case 'neuro_irm_emplacements':
{
$sql = "SELECT * FROM ".$arr[0]." WHERE ID_regions = ". $arr[1]." ORDER BY Nom";
}
}
$req = mysql_query($sql);
$return = '';
$return.= '[{valeur :"", text: "Places"},';
while($res = mysql_fetch_array($req))
{
$return.= '{valeur:'.$res["ID"].',text:"'. $res["Nom"].'"},';
}
//je remplace la derniere virgule par la ) dans la variable $return
$return=preg_replace("/,$/","]",$return);
//je retourne le rsultat a AJAX
echo $return; |
retourne donc une chaine � js de ce genre :
Citation:
[{valeur :"", text: "Places"},{valeur:13,text:"Brainstem"},{valeur:11,text:"Cereb
Hemis"},{valeur:12,text:"Cereb Angle"},{valeur:15,text:"Intraventriculaire"},{valeur:14,text:"Spinal Cord"},{valeur:10,text:"Vermis"}]
J'ai ensuite ce code :
Code:
1 2 3 4
|
LeRetour = trim(xhr.responseText);
emptySel(document.getElementById(arr[2]));
MesOption=eval("(" + LeRetour + ")"); |
Jusqu'� maintenant, �a fonctionnait parfaitement.
Mais une alerte de MesOption m'indique ceci :
Citation:
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
J'avoue ne pas bien comprendre.
On m'a d�j� dit que "eval" �tait d�pr�ci�, j'en profite donc pour vous demander si il n'y a pas un autre moyen de proc�der ?
Je vous en remercie d'avance.
beegees