我在学校做项目,我需要控制用户有权访问其中一个页面。所有功能都需要通过Ajax。
我的问题在于Ajax的回调。挣扎了几天,但似乎无法解决它。如果我跳过Ajax,它的工作原理。但我需要让它与ajax一起工作。我不知道该用什么作为回调,我已经尝试了很多解决方案,没有工作。
无论会话如何,任何人都可以访问该页面。
Jquery的:
<script>
$(window).load( function checkUser() {
$.post('calling_check_staff.php',
function(data){
$(). html(data); // I think the problem is here?????
});
});
</script>
calling_check_staff.php
<?php
session_start();
include ("php-classes/classUsers.php");
// Calling the class User and controlling that the visitor is logged in
$user = new User();
if($user->loggedIn()) {
}
?>
PHP类
public function loggedIn() {
// Control, accessed page via login page.
if(isset($_SESSION["username"]) && $_SESSION["username"] != null) {
} else { header("location:index.php");
} }
答案 0 :(得分:1)
您无法在AJAX请求中设置header
。您可以做的是发送登录或请求状态以响应 AJAX请求。您可以使用JSON
字符串返回响应并在客户端验证相同的内容。
如果用户已登录,请发送JSON
这样的
{
"status":1
}
如果用户未登录,请发送JSON
这样的内容,
{
"status":0
}
现在检查客户端状态的值,以了解用户是否已登录。如果用户已经登录,您还可以发送HTML内容以及状态字段以在网页上显示。如果您从脚本获取状态字段,则刷新页面或将页面重定向到 index.php 0