ボタンをクリックするとajaxリクエストが呼び出されます.Ajaxレスポンスが成功すると警告ボックスが表示され、別のページにリダイレクトされます。リダイレクト時に閉じる
私の問題は、成功応答が受信されてから正しく警告が表示されたときに、警告ボックスがリダイレクトされたときに消えてしまうことです。
いつかリダイレクトが完了してゆっくりとフェードアウトした後もアラートボックスを表示します。
ここでは$('.flash_alert').delay(5000).fadeOut("slow");
delay(5000)を使用していますが、リダイレクト後にアラートが表示されても動作しないと思われます。
$data1['status'] = "success";
$data1['msg'] = '<div class="alert alert-success fade in"><a href="#" data-dismiss="alert" class="close">×</a><h5> Successfully Saved. </div>';
echo json_encode($data1);
ajax.php
私のコード
のindex.php
<div class="flash_alert">
</div>
<button class="btn btn-success btn-lg" type="button" id="PIDetails-1_btn" name="PIDetails-1_btn">Save</button>
$(document).ready(function() {
$("#PIDetails-1_btn").click(function(){
$.ajax({
url: "ajax.php",
type: 'POST',
dataType : "json",
success: function(response){
$(".flash_alert").html(response.msg).delay(5000).fadeIn();
$('.flash_alert').delay(5000).fadeOut("slow");
if (response.status == "success") {
window.location.href = "success.php";
}
else {
}
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
window.location.reload();
},
});
});
});
リダイレクトにより、アラートのない新しいページが読み込まれます。私はすぐにリダイレクトして、success.phpページにアラートを表示します(そしてそこに消えます)。 – Sim