Jquery 在没有会话时防止Ajax调用&;codeigniter中的网络发现
在我的项目中,我面临两个问题。请帮助我解决这些问题Jquery 在没有会话时防止Ajax调用&;codeigniter中的网络发现,jquery,ajax,codeigniter,Jquery,Ajax,Codeigniter,在我的项目中,我面临两个问题。请帮助我解决这些问题 我正在使用javascript中的.load()函数加载另一个页面 使用Ajax。它工作得很好。但是如果我在其他地方开始我的项目 tab并注销,然后返回此处,尝试调用ajax 显示使用.load()加载页面的登录页面 函数。我如何解决它 当网络断开连接时,如何停止ajax调用 如何解决这两个问题???您试图实现的目标有点复杂,因为您希望浏览器(客户端)记录服务器上是否存在当前用户的活动会话 问题在于,用户的会话记录保存在服务器上,并且您希望客户
如何解决这两个问题???您试图实现的目标有点复杂,因为您希望浏览器(客户端)记录服务器上是否存在当前用户的活动会话 问题在于,用户的会话记录保存在服务器上,并且您希望客户端知道会话状态。您需要编写一些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();
}
});
}
在服务器端,您将有一些名为somefunction的方法来检查会话
function someFunctionToCheckSession(){
// CHeck user's active session here
$data['isSessionActive'] = 0;
if(isset($_SESSION['user_name'])){
$data['isSessionActive'] = 1;
}
echo json_encode($data);
}
您试图实现的目标有点复杂,因为您希望您的浏览器(客户端)记录服务器上是否存在当前用户的活动会话 问题在于,用户的会话记录保存在服务器上,并且您希望客户端知道会话状态。您需要编写一些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();
}
});
}
在服务器端,您将有一些名为somefunction的方法来检查会话
function someFunctionToCheckSession(){
// CHeck user's active session here
$data['isSessionActive'] = 0;
if(isset($_SESSION['user_name'])){
$data['isSessionActive'] = 1;
}
echo json_encode($data);
}
我希望这能有所帮助
在你的函数构造中,包括这个
如果(!$this->session->userdata('somevalue'){redirect('somevalue');}我希望这能有所帮助
在你的函数构造中,包括这个
如果(!$this->session->userdata('somevalue'){redirect('somevalue');}您尝试了什么???在此处添加代码您尝试了什么???在此处添加代码实际上,如果没有会话,它将不会调用该函数,因此它会向我抛出一个错误,如意外令牌。您可以详细解释吗?好的,我在两个选项卡中打开了我的项目,如果我注销其中一个选项卡,会话将被销毁。因此,如果没有会话,会话将被销毁GET请求将失败。您必须检查会话变量是否存在。我已进行了更改。我知道。但如果没有会话,我们无法执行服务器请求,对吗?您所说的一切都是正确的,即,如果我们从服务器会话中获得1,或者如果我们获得0会话缺席。但我想告诉您的是,我们如何获得0如果没有会话,这意味着我们无法执行服务器请求。实际上,如果没有会话,它不会调用该函数,因此它会向我抛出一个错误,如意外令牌。你能详细解释一下吗?好的,我在两个选项卡中打开了我的项目,如果我在其中一个选项卡中注销,会话将被销毁。因此,如果没有会话,GET reque将被销毁st将失败。您必须检查会话变量是否存在。我已进行了更改。我知道。但如果没有会话,我们无法执行服务器请求,对吗?您所说的一切都是正确的,即,如果我们从服务器会话中得到1,或者如果我们得到0会话缺席。但我想告诉的是,我们如何从服务器中得到0r如果没有会话,则意味着无法执行服务器请求