Bonjour,
J'aimerais savoir votre avis sur la meilleur méthode a utilisé pour les envoies de formulaire en ajax avec retour d'erreur. J'ai fais le tour de la question et je suis toujours en interrogation...
Sur mon site, j'ai plusieurs formulaires ressemblant a celui ci :
Avec du jquery comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <form id="forgotPwd" method="get" onSubmit="return false;"> <fieldset class="plain"> <legend><span>Changer votre mot de passe</span></legend> <div class="row"> <label for="email" class="required">Votre courriel*</label> <input type="text" name="email" id="email" placeholder="exemple@site.com" /> </div><br> <div><br> <input type="submit" value="Envoyer" /> </div> <br> </fieldset> </form>
Je m'interroge a savoir pour le coté PHP, qu'elle serait la meilleur méthode a utilisé? Voici les 2 façons et dites moi vous, vous feriez quoi?
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
30 <script type="text/javascript"> $(function() { $('form#forgotPwd').on('submit',function(e) { var d = $(this).serialize(); $.ajax({ url: "modules/users/handles/forgotPwd.php", dataType: 'json', type: "GET", data: d, success: function(data, status, xhr) { if(data.error) { alert(data.error.message); } else { alert('Success message'); } }, error: function (request, status, error) { alert(request.responseText); } }); }); }); </script>
Version 1
Version 2:
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 header('Content-Type: application/json'); try { if(isset($_GET['email']) && !empty($_GET['email'])) { if( filter_var($_GET['email'], FILTER_VALIDATE_EMAIL) ) { echo json_encode(array('results' => 'ok')); } else throw new Exception('Address courriel invalide',2); } else throw new Exception('Address courriel vide',1); } catch(Exception $e) { echo json_encode(array('error' => array('message' => $e->getMessage(), 'code' => $e->getCode() ) )); }
Merci de vos avis, vos suggestions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public function throwJsonException($msg,$code) { echo json_encode(array('error'=> array('code' => $code, 'message' => $msg )); } if(isset($_GET['email']) && !empty($_GET['email'])) { if( filter_var($_GET['email'], FILTER_VALIDATE_EMAIL) ) { echo json_encode(array('results' => 'ok')); } else throwJsonException('Address courriel invalide',2); } else throwJsonException('Address courriel vide',1);
Partager