我有一个应用程序,其中大多数请求是通过 AJAX 提交的,尽管有些是通过“常规”HTTP 请求提交的。如果提交请求并且用户的会话已超时,则返回以下 JSON:
{"authentication":"required"}
提交所有 AJAX 请求的 JavaScript 函数通过显示弹出消息并将用户重定向回登录页面来处理此响应。
但是,当非 AJAX 请求收到此响应时,JSON 会简单地显示在浏览器中,因为响应是由浏览器直接处理的(即绕过上述 JavaScript 函数)。显然这并不理想,我希望收到此响应的非 AJAX 请求的行为与 AJAX 请求相同。为了实现这一点,我可以想到 2 个选项:
浏览应用程序并将所有请求转换为 AJAX 请求。这会起作用,但也可能需要很长时间!
上面显示的 JSON 是由一个非常简单的 JSP 生成的。我想知道是否有可能向这个 JSP 添加一个 JavaScript 事件处理程序,该处理程序在内容显示在浏览器中之前运行 - 我假设这永远不会被 AJAX 请求调用?此处理程序可以调用显示弹出窗口并执行重定向的其他 JavaScript 代码。
如果有人知道我如何准确地实现我在 (2) 中概述的处理程序,或者有任何其他潜在的解决方案,如果他们能将它们传递给我,我将不胜感激。
干杯,唐