2017-02-12 5 views
0

ボタンをクリックすると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(); 
      }, 
     }); 
    }); 
}); 

私は

+1

リダイレクトにより、アラートのない新しいページが読み込まれます。私はすぐにリダイレクトして、success.phpページにアラートを表示します(そしてそこに消えます)。 – Sim

答えて

0

Blied1952を助ける必要がある、あなたが探している機能は、より一般的に関連付けられています1ページのアプリケーションで。これらのWebアプリケーションは、ポップアップを複数のページにまたがって維持できるようにする新しいリソースにアクセスするときに、一般的にDOM全体を完全に変更しません。あなたがjQueryに慣れて以来、始めるのに最適な場所はhttp://sammyjs.org/です。

一時的な解決策として、サイトが現在動作していなければならない場合は、ページの読み込み時にポップアップを再作成することができます。

このページにさまざまな手段で到達できる場合は、適切なときだけポップアップが表示されるように、getパラメータをredirectというページに渡すことができます。お役に立てれば。がんばろう。

関連する問題