我想在Symfony2會話之前將sesion_liftime延長。在Symfony2中延長會話生存期
我向用戶顯示他將在幾秒鐘內註銷,並且當他/她確認要擴展該會話時,我會向控制器發送一個ajax請求,以便擴展該會話。但問題是請求不起作用。
我嘗試了幾個不同的解決方案,但都沒有工作。
<script type="text/javascript">
var timeoutID;
function delayedAlert() {
timeoutID = window.setTimeout(slowAlert, 15000);
}
function slowAlert() {
setTimeout(logout, 5500)
var r=confirm("You will be logout in 5 seconds!");
if (r==true)
{
$.ajax({
url: 'http://localhost/interactivo/web/app_dev.php/check',
xhrFields: {
withCredentials: true
}
});
alert("You wont be logout");
}
}
function logout() {alert("You are logout");};
delayedAlert();
</script>
/**
* @Route("/check")
*/
public function indexAction()
{
// FIRST ATTEMPT
// $value = 'something from somewhere';
//
// setcookie("TestCookie", $value);
// setcookie("TestCookie", $value, time()+3600); /* expire in 1 hour */
// setcookie("TestCookie", $value, time()+3600, "/~rasmus/", "example.com", 1);
// SECOND ATTEMPT
// header('Content-type: text/html; charset=utf-8');
// echo 'TEST';
// THIRD ATTEMPT
$session = $this->container->get('session');
$lastUsed = new \DateTime();
$lastUsed->setTimestamp($session->getMetadataBag()->getLastUsed());
return $this->render('GLHomeBundle:Default:sesion.html.twig', array('entities'=> $lastUsed));
}
我做錯了什麼?
的問題是,這個Ajax請求不調用控制器,我已經發現,如果我只會使用會話,它會自動更改lastModified的屬性,所以iw將足以延長會話。但我怎麼能調用這個indexAction? – user2576422
url:'/ check',這是肯定的,你可以通過使用url中的路由來調用你的控制器,如果它不起作用,你的問題在其他地方 – Peekmo