2017-01-12 7 views
0

jquery ajaxコールで私のウェブサイトに連絡フォームがありますが、ボタンをクリックすると.phpページが表示されません。 acerola.phpでjquery ajax投稿がPHPページにリダイレクトされない

var data = { 
     name: $("input.userName").val(), 
     email: $("input.userEmail").val(), 
     tel: $('input.userPhone').val(), 
     message: "Projet de "+$("input.userName").val() + ", Tel : " + $('input.userPhone').val(), 
      body: body 
     }; 

    $.ajax({ 
     type: "POST", 
     url: "acerola.php", 
     data: data, 
     success: function(data){ 
      console.log('ajax sucessfully sent'); 
     } 
    }); 

<html> 
<head><title>PHP Mail Sender</title></head> 
<body> 
<h1>OUIIiiii</h1> 
<?php 

echo "<h1>Coucou</h1>"; 

/* All form fields are automatically passed to the PHP script through the array $HTTP_POST_VARS. */ 
$name = $HTTP_POST_VARS['name']; 
$email = $HTTP_POST_VARS['email']; 
$tel = $HTTP_POST_VARS['tel']; 
$message = $HTTP_POST_VARS['message']; 
$body = $HTTP_POST_VARS['body']; 

/* PHP form validation: the script checks that the Email field contains a valid email address and the Subject field isn't empty. preg_match performs a regular expression match. It's a very powerful PHP function to validate form fields and other strings - see PHP manual for details. */ 
if (!preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/", $email)) { 
    echo "<h4>Invalid email address</h4>"; 
    echo "<a href='javascript:history.back(1);'>Back</a>"; 
} elseif ($subject == "") { 
    echo "<h4>No subject</h4>"; 
    echo "<a href='javascript:history.back(1);'>Back</a>"; 
} elseif (/* Sends the mail and outputs the "Thank you" string if the mail is successfully sent, or the error string otherwise. */ 
    mail("[email protected]", "Demande de devis web", $message . $body, "From:" . $email) 
) { 
    echo "<h4>Thank you for sending email</h4>"; 
    echo "<div>Thank you for sending email</div>"; 
} else { 
    echo "<h4>Can't send email to $email</h4>"; 
} 

?> 
</body> 
</html> 

私は希望acerola.phpにリダイレクトするユーザー

はここでAJAX呼び出します。しかし、ユーザーは元のページにとどまっています。

あなたは私を助けることができますか?

おかげ

+0

どのようにajax 'data'が表示されますか? –

+0

あなたは 'acerola.php'にデータを送信するだけでリダイレクトしたい場合には、ajaxは必要ありません。 –

+0

@ZakariaAcharkiこれを正しく行うにはどうしたらいいですか? – Louis

答えて

2

は、Ajax応答の後、JavaScriptでリダイレクトを発射します。

$.ajax({ 
    type: "POST", 
    url: "acerola.php", 
    data: data, 
    success: function(data){ 
     console.log('ajax sucessfully sent'); 
     window.location.replace('URL HERE') 
    } 
}); 
+0

しかし、私のPHPスクリプトで見ることができるようにhtmlコードがあります。このコードを最初に表示したいのですが、このページには行かない.php – Louis

+0

これを行うと、変数はPHPページにエコーしません。 ..例えば 'echo $ name'は何も表示しません。なぜ? – Louis

関連する問題