在单页应用程序中,通常我们请求一个网页(dashboard.html)并从服务器获取它,然后我们在其上呈现一些仪表板数据(使用 ajax)
我只想在用户通过支持身份验证(具有有效的电子邮件和密码)时显示dashboard.html,否则我想将他重定向到登录页面。
$.ajax({
url: "dashbaard.json",
dataType: "json"
}).done( function(data){
// data = { inValid: true } - from backend
if(data.inValid){
alert("You are not authorized user, please register 1st!");
location.href = "register.html";
} else {
// render data on dashboard page - valid user
}
})
但是假设用户无效,这是一个问题
- 用户请求了dashboard.html,尽管用户无效,但所有资产(css、js、图像)都将被加载,在这种情况下,我们没有必要加载单个css或js文件
预期结果:用户请求的dashboard.html 如果用户无效,则应立即将他重定向到登录/注册页面,而无需从服务器加载任何不必要的内容。
我们如何使用单页应用程序处理它(如果可能,不刷新页面)我需要没有页面闪烁的最佳解决方案,我正在使用 Laravel 4 处理后端身份验证,它的工作非常好。