<a href="PHP/LogOut.php" id="LogOut">Log Out</a>
リンク a#LogOut は、すべてのセッションを終了し、「ログアウトしました」というデータで応答する PHP スクリプトを呼び出します。
<?php
session_start();
$_SESSION = array();
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
session_destroy();
echo "You have logged out";
?>
ログアウトしてログインページに戻ると、「データ/メッセージ」がページに書き込まれないことを除いて、すべて正常に機能します。これは「document.location.href」が原因であると思われます。「console.log( data )」を配置すると、コンソールで一瞬ちらつき、リターンページが読み込まれると消えます。スクリプトを実行し、リダイレクトしてメッセージを表示するにはどうすればよいですか?
$('a#LogOut').live('click',function(){
$.ajax({
type: "POST",
url: $(this).attr('href'),
success: function(data){
var message = $(data).text();
if (data==="You have logged out") {
console.log( data );
document.location.href='/returnedpage.php';
$('#messageBox').show().html('<ul></li>' + data + '</li></ul>');
} else {
alert('not working');
}
}
});
return false;
});
.load 関数を使用してコンテンツを再ロードすることもできましたが、これには腹が立ったので、正しく処理したいと考えています。基本的に、「returnedpage.php」ページの div#messageBox に「メッセージ」を書き込む必要があります。タイ