我正在编写逻辑,以在客户会话期满后将其重定向到登录页面。为此,我编写了AJAX调用,该调用调用了自定义crontoller函数之一,在该函数中,我检查了用户会话是否处于活动状态,并取决于我是否在进行重定向。 我在这里面临的问题是AJAX调用不断返回true,即,即使会话超时后用户也已登录。 当我刷新Magento站点时,该会话实际上充当过期会话,然后我得到的AJAX响应为false。 有什么我想念的吗?或者有更好的方法吗?
AJAX通话
jQuery(document).ready(function () {
LogOutInactive();
});
function LogOutInactive() {
var idleInterval = setInterval(timerIncrement, 5000);
}
function timerIncrement() {
jQuery.ajax({
url: '<?php echo Mage::getBaseUrl() ?>'+'customcontroller/index/checksession',
success: function(data){
if ( data == '0' ) {
window.location = "LOGIN_PAGE_URL";
}
}
});
}
自定义控制器
class Package_Extension_IndexController extends Mage_Core_Controller_Front_Action
{
public function checksessionAction()
{
$id = Mage::getSingleton('customer/session')->getId();
if($id)
{
echo $id;
}
else
{
echo '0';
}
}
}