我正在管理一个AngularJS网站背后的反向代理用于身份验证。几个小时后,反向代理上的会话将过期。
如果网站在浏览器中仍然打开,用户点击页面,框架将返回JavaScript,其中不包含javascript,而是反向代理登录页面的HTML,以<!DOCTYPE html>
开头
这无法被解析并引发错误"Uncaught SyntaxError: expected expression, got '<'"
由于这些错误,整个页面都是黑色的。一个解决方法是刷新页面,但我们所有的用户都不知道。
我可以做些什么来优雅地解决这个问题?
1条答案
按热度按时间70gysomp1#
使用AngularJS HTTP拦截器检查API响应是否包含HTML。如果是,则表示会话已过期,因此将用户重定向到登录页面或显示会话过期通知。
下面是一个经典的例子,但是你需要根据代码调整它:
字符串
希望我的回答对你有帮助