Bonjour à tous,
Je débute en AJAX et malgré 2 heures passées à googler sur le sujet, je n'ai toujours pas eu le déclic, alors je fais appel à vos lumières...
J'ai donc un script PHP, lancé via une requête AJAX, qui vérifie et traite les données d'un formulaire (qui permet la modif de données de contacts) situé dans ma page html principale, puis réinjecte du code (en l'occurrence un tableau avec la liste des contacts mise à jour après modif du contact) dans cette même page html, à l'intérieur de la DIV id="liste".
En AJAX, ça donne ça (simplifié) :
Et mon script update.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 $(function () { var $bouton = $('#valider'); $bouton.on('click', function () { var IdContact = $('#idcontact').attr('value'); var Nom = $('#nom').attr('value'); var Prenom = $('#prenom').attr('value'); var Chaine = '?rappelIdContact='+IdContact+'&nom='+Nom+'&prenom='+Prenom; if (Nom == '') { alert('Le NOM est un champ obligatoire !'); } else { if (Prenom == '') { alert('Le PRENOM est un champ obligatoire !'); } else { $.ajax({ type: "POST", url: "update.php, data: Chaine, cache: false, success: function(result){ $("#liste").html(result); } }); } } return false; }); });
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 // teste l'existence et le contenu des paramètres de la requête Ajax if (isset($_POST['rappelIdContact']) && !empty($_POST['rappelIdContact'])) {$IDCONTACT= $_POST['rappelIdContact'];} else {$IDCONTACT= 0;} if (isset($_POST['nom']) && !empty($_POST['nom'])) {$NOM= $_POST['nom'];} else {$NOM= "";} if (isset($_POST['prenom']) && !empty($_POST['prenom'])) {$PRENOM= $_POST['prenom'];} else {$PRENOM= "";} // vérifie l'existence de l'IdContact dans la BDD $reqSelect = @mysql_query("SELECT IdContact FROM liste_contacts WHERE IdContact LIKE ".$IDCONTACT); $totSelect = mysql_num_rows($reqSelect); if ($totSelect == 1) { // MAJ de la BDD avec les données du formulaire + requête et listage de la liste des contacts à jour .....blablabla return TRUE; } else { // simplement requête et listage de la liste des contacts, vu que l'IdContact n'a pas été repéré dans la BDD et qu'une requête MAJ est du coup impossible .....blablabla return FALSE; }
Je précise que tout fonctionne à merveille, mais j'aimerais seulement récupérer le retour de l'éxécution de mon script php pour afficher une alerte JS du genre :
Dans ma requête AJAX, j'avais essayé de mettre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (le retour du script update.php == TRUE) {alert('Modif effectuée !');} else {alert('Oups !');}
Mais j'obtiens systématiquement 'OK' même si le script PHP a renvoyé FALSE, sûrement parce qu'il s'agit du bon envoi de la requête AJAX, et non pas du résultat de l'exécution du script appelé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 (...) success: function(result){ $("#liste").html(result); } if (result) {alert('OK');} else {alert('Oups');}
Bref, je patauge !
Merci @+
Partager