使用angular做前后端分离后的项目开发,一些情况下前端初次进入页面会先加载视图,再加载js代码,然后连接验证登陆接口。
若没有登陆,这种情况下会在一瞬间展示出登陆后的页面,给用户的体验不够完美。
但是使用php可以用来判断登陆,
例如,将index.html改成index.php,然后再顶部加上:
<?php session_start();
if(!@$_SESSION['think']['user_id']){
echo '<script>window.location="login.html"</script>';
die();
}
?>
<!DOCTYPE html>
<html lang="en" ng-app="ams">
<head>
</head>
<body>
<-- html代码 -->
</body>
<html>
这样会先在服务器读取用户的session信息user_id,若读取不到,则验证为未登陆,会直接跳转到登陆页面而不会加载下面的html,避免了一瞬间出现视图的情况