以下是我认为正确编写的两个函数。
问题是,有时我的 Session 没有超时,但 AJAX 请求返回 403 错误(其他一些没有任何模式的函数也会发生)。
堆栈溢出充满了寻求帮助的问题,但我没有找到任何真正好的答案:
问题):
- 如何通过代码导致 403 错误?
- 如果我有多个异步 AJAX 请求同时运行,会导致 403 错误吗?(我确实一次触发了几个(最多 5 个)ajax 请求)
- 如果我想以 relative_path/action 而不是 relative_pat/action.php 的形式调用 AJAX 请求,是否必须在 .htaccess 中设置有关目录列表的内容?
- 403 可能是由我的会话到期引起的,对吧?
阿贾克斯:
var root = "/test_tool";
function isLoggedIn()
{
// return if the user is in the sign in window
if ( window.location == "http://localhost" + root +"/" )
{
return;
}
var output = "";
$.ajax (
{
url: root + "/users/isLoggedIn",
context: document.body,
async: true
} ).done( function( result )
{
output = result;
if ( output == "" )
{
alert( " You have been logged out. " );
window.location = "http://localhost" + root +"/";
}
});
}
(蛋糕)PHP:
public function isLoggedIn()
{
$this->autoRender = false;
return ( $this->Auth->user('username') != null );
}