電子メールアドレスを収集し、AJAX POSTリクエストを介してサーバーに送信するHTMLページ(index.html
)があります。送信ボタンがクリックされると、javascript関数はAJAXを介して投稿要求を実行し、ページはそれ自体に送信されます。これを変更して、ページを別のページ(thankyou.html
)に送信する必要があります。私はPHPでこれを行う方法がわかりません。フォームが送信され、AJAXクエリが実行されると、PHPページをリダイレクトする方法はありますか?PHP関数を呼び出すAJAXリクエスト後にフォームをリダイレクトするとき
ページをJavascriptまたはHTMLまたはPHPでリダイレクトする必要があるかどうかはわかりません。
これはindex.html
形態である:
<form class="email-form" method="POST" validate>
<div class="email-input-container register-info-email">
<input class="email-input" type="email" autocapitalize="off" autocorrect="off" autocomplete="off" required name="MERGE0" id="MERGE0" placeholder="Email Address" pattern="[a-z0-9._%+-][email protected][a-z0-9-]+\.[a-z]{2,63}$" aria-label="Email Address">
<input id="sub-button" type="submit" class="submit-button" value="Submit" >
<span class="success-message"><span class="sr-only">We got you</span></span>
</div>
</form>
これはこれは、AJAX要求であるPHPでPOSTリクエスト(post.php
)
if (isset($_POST['email'])) :
$data = [
'email' => $_POST['email']
];
if (isset($_POST['platform'])) :
$data["device"] = $_POST['platform'];
endif;
syncMailchimp($data);
endif;
です:
$.ajax({
type: "POST",
url: 'post.php',
data: data,
success: function(data, status) {
var message = JSON.parse(data).message;
if (message == "error") {
$('.email-form small').html('An error has occurred. Please try submitting again.');
smallHighlight();
} else if (message == "subscribed") {
$('.email-form small').html('You are already subscribed');
smallHighlight();
} else {
$('.email-form').addClass('form-success');
$('.email-form small').attr('style', '');
}
},
あなたは、ヘッダー – mplungjan