mainmenu.jsp、login.jsp、および logout.jsp があります。流れは以下のようなものです
login.jsp --->mainmenu.jsp ---> logout.jsp
最初のユーザーは login.jsp を見ることができ、ログインに成功した後、ユーザーは mainmenu.jsp を見ることができます。ログアウト ボタンをクリックすると、ユーザーは logout.jsp ファイルに転送されます。logout.jsp ファイルで、ブラウザの戻るボタンをクリックすると、前のページ (mainmenu.jsp) が表示されますが、login.jsp ページを表示したいと考えています。これを回避するために、main menu.jsp のロード時に ajax 呼び出しを使用して変数をチェックしています。ページを login.jsp にリダイレクトできます。これは、ちらつきの問題のような問題です。サーバーが結果を返す前に、mainmenu.jsp ファイルがロードされます。サーバーが結果を返した後、ページはログイン ページにリダイレクトされます。サーバーから応答が来るまで、現在のページの読み込みを制限したい。どうすればこれを達成できますか? メインメニューのオンロードで次のコードを使用しています
$(window).load(function() {
$.ajaxSetup({async:false}); //execute synchronously
var isSessionExists = "";
$.post("getSession", {}, function(data, textStatus, xhrObject) {
isSessionExists = data.split("=")[1];
});
$.ajaxSetup({async:true});
if((isSessionExists.indexOf('NO')>=0)){
// alert("...inside condition...")
top.location="index.jsp";
}else{
alert("....BREAK..."+isSessionExists)
}
});