我在项目中面临两个问题。请帮我摆脱那些。
我在javascript中使用.load()函数来加载其他页面 使用Ajax。这很棒。但是,如果我在其他地方打开我的项目 选项卡和注销并返回到此处并尝试进行ajax调用 显示登录页面我使用.load()加载页面的位置 function.How我如何解决它。
如何在网络断开连接时停止ajax呼叫?
如何解决这两个问题??
答案 0 :(得分:0)
您要实现的目标有点复杂,因为您希望浏览器(客户端)保留天气记录,以便服务器上存在当前用户的活动会话。
问题是用户的会话记录是在服务器上维护的,并且您希望客户端知道会话状态。您将需要编写一些java脚本,该脚本将在固定的时间间隔后继续在服务器上调用函数,以检查会话是否有效。
我会这样做:
// this will call a function to make a request to server and check if session exist's after every 10 seconds.
var t=setInterval(checkSessionExist,10000);
function checkSessionExist(){
$.get( "someFunctionToCheckSession", function( data ) {
if(!data.isSessionActive){
clearInterval(t);
alert("Your Session has Expired. Please Login to continue !!");
location.reload();
}
});
}
在服务器端您将有一些名为 someFunctionToCheckSession
的方法function someFunctionToCheckSession(){
// CHeck user's active session here
$data['isSessionActive'] = 0;
if(isset($_SESSION['user_name'])){
$data['isSessionActive'] = 1;
}
echo json_encode($data);
}
答案 1 :(得分:0)
我希望这可以帮助
在你的函数中__construct包括这个。
如果($这 - >!会话而>用户数据( 'someValue中'){重定向( 'someValue中');}