Discussion:
probleme de recuperation de donnee via une requ ete ajax
(trop ancien pour répondre)
a***@gmail.com
2009-06-05 08:14:50 UTC
Permalink
Bonjour,

je rencontre un problème bizarre lors de la récupération d'une page
php via une requête ajax (faite via JQuery).

J'ai un formulaire html très simple :
<form method="post" action="add_group.php" id="add_group">
<input type="text" name="group_name" id="group_name" value="nom du
groupe" />
<input type="submit" name="submit_group" value="créer" />
</form>

Je modifie ce formulaire grâce à JQuery afin de lui rajouter un champ
caché dataType = "JSON".
De cette manière, la page php add_group.php sait qu'elle doit encoder
le résultat au format JSON avant de le transmettre.

Ma page add_group.php correspond à:
<?php
...

if ($_POST['dataType'] == 'JSON') echo json_encode(array
('is_group_added'=>$is_created));
else {
echo "le groupe '".$group->name."' ";
echo ($is_created)? "a bien été créé" : "n'a pas été créé";
}
?>

J'ai fait plusieurs tests et il s'est révélé que ce qui pose problème
est la condition if ($_POST['dataType'] == 'JSON'){} else{}

Lorsque je supprime cette condition, le retour json_encode() est bien
interprété.
Lorsque j'utilise ce test, le retour fait une erreur 'parseError'

Je ne vois pas ce qui change entre :
if ($_POST['dataType'] == 'JSON') echo json_encode(array
('is_group_added'=>$is_created));

et

echo json_encode(array('is_group_added'=>$is_created));

Pourquoi le retour du 1er n'est-il pas interprété correctement ?!

D'avance, merci pour votre aide.
Arnaud
Olivier Miakinen
2009-06-05 22:24:01 UTC
Permalink
Bonjour,
Post by a***@gmail.com
[...]
J'ai fait plusieurs tests et il s'est révélé que ce qui pose problème
est la condition if ($_POST['dataType'] == 'JSON'){} else{}
As-tu vérifié que $_POST['dataType'] vaut bien 'JSON' ?

Cordialement,
--
Olivier Miakinen
Loading...