2016-10-05 3 views
0

ボタンをクリックすると、Ajaxの呼び出しを行う:JavaScript:window.location.hrefが変更されているかどうかを確認してください。

$(document).on("click", function (e) { 
     window.LoadingPanel.Show(); 
    }); 

Ajax呼び出し次のコードは、読み込みパネルが再び消える確認します後:

$(document).ajaxComplete(function() { 
     if (window.LoadingPanel != null) { 
      window.LoadingPanel.Hide(); 
     } 
    }); 

しかし、いくつかのケースでは、私は結果に応じて別のページにリダイレクトしますwindow.location.hrefを設定してAjaxコールを呼び出します。 この場合、ajaxComplete関数は、リダイレクトが成功するまで、ローディングパネルをあまりに早く非表示にしないようにします。

window.location.hrefが変更され、ページがリダイレクトされると、ajaxComplete機能をチェックインするにはどうすればよいですか?

+0

を以下を参照してください。各ページはそれ自身のウィンドウインスタンスです – charlietfl

+2

AJAX呼び出しの結果に基づいてフラグを設定するだけではどうですか?本当の場合はパネルを非表示にし、そうでない場合はパネルを非表示にします。 –

答えて

1

これはこの問題を解決する良い方法ではないかもしれませんが、私は今考えていることがあります。
1.変数呼び出しを作成するisHide = true;
2. jaxコールのOnsuccess関数で、隠蔽が必要ない場合はisHide = falseを設定します。あなたのajaxCompleteで
3.リダイレクトは、あなたが行うことはできません求めているものを、ブラウザで新しいページ全体をロードする意味場合

$(document).ajaxComplete(function(e) { 
    if (window.LoadingPanel != null && isHide) { 
     window.LoadingPanel.Hide(); 
    } 
}); 
関連する問題