Bonjour, mon script ajax me retourne toujours "error". L'envoie du mail est correct, mais ajax ne me retourne jamais "success". N'étant pas un expert en JS, je tourne en rond. Si quelqu'un à une explication, merci d'avance.
Code HTML : 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 <form class="contactForm" data-toggle="validator" id="formContact" method="post" name="formContact" role="form"> <div class="form-group"> <input class="form-control" pattern="^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$" data-error="Veuillez saisir une adresse email valide" data-toggle="tooltip" data-validate="true" id="email" name="email" placeholder="Email" type="text"> <div class="text-left help-block with-errors"> </div> </div> <div class="form-group"> <input class="form-control" pattern=".{1,2}" data-error="Veuillez saisir un sujet entre 5 et 30 caractères" data-toggle="tooltip" data-validate="true" id="subject" name="subject" placeholder="Sujet" type="text"> <div class="text-left help-block with-errors"> </div> </div> <div class="form-group"> <textarea class="form-control" data-minlength="2" data-error="Veuillez saisir un message d'au moins 20 caractères" data-toggle="tooltip" data-validate="true" id="message" name="message" placeholder="Message" rows="5"></textarea> <div class="text-left help-block with-errors"> </div> </div> <div class="text-center"> <button class="btn btn-hot btn-xs disabled" id="btnSubmit" tabindex="-1" title="Send Message" type="submit" disabled>Valider</button> </div> </form>
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
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 <?php use PHPMailer\PHPMailer\PHPMailer; require 'lib/PHPMailer/src/Exception.php'; require 'lib/PHPMailer/src/PHPMailer.php'; require 'lib/PHPMailer/src/SMTP.php'; $email = trim($_POST['email']); $subject = trim($_POST['subject']); $message = trim($_POST['message']); $mail = new PHPMailer; $mail->CharSet = 'UTF-8'; $mail->isSMTP(); $mail->isHTML(TRUE); $mail->SMTPDebug = 2; $mail->Host = ''; $mail->Port = 587; $mail->SMTPSecure = 'tls'; $mail->SMTPAuth = true; $mail->Username = ""; $mail->Password = ""; $mail->setFrom(''); $mail->addAddress($email); $mail->Subject = $subject; $mail->msgHTML(file_get_contents('sm.html'), __DIR__); if(!$mail->send()) { $signal = 'err'; $msg = 'Erreur'; } else { $signal = 'ok'; $msg = 'Valide'; } $data = array( 'signal' => $signal, 'msg' => $msg ); echo json_encode($data); ?>
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
31
32
33 $(document).ready(function(){ $('form').submit(function(){ event.preventDefault(); $.ajax({ dataType: 'JSON', url: 'mailer.php', type: 'POST', data: $(this).serialize(), beforeSend: function(xhr){ $('#btnSubmit').html('Envoi en cours...'); }, error: function(textStatus, xhr){ $('.notification').jAddMessage({ html: '<p>Erreur de traitement</p>', type: 'error', buttonstyling: 'false' }); }, success: function(response){ $('.notification').jAddMessage({ html: '<p>Votre message à été envoyé avec succes</p><p>Nous vous contacterons dans les meilleurs délais</p>', type: 'success', buttonstyling: 'false' }); }, complete: function(){ $('#btnSubmit').html('Valider'); $('#btnSubmit').prop('disabled', true); $('#formContact')[0].reset(); } }); }); });
Partager