java - 如何在 Java 中将 Ajax 请求重定向到登录页面

标签 java httprequest ajax-request

我想将 Ajax 请求重定向到服务器端的登录页面。

我可以通过以下方式了解请求是否是 Ajax 请求

boolean isAjaxRequest = "XMLHttpRequest".equals(request.getHeader("X-Requested-With"));

我知道我可以用 JavaScript 做到这一点,但是有很多地方向服务器发送 ajax 请求。所以我必须在服务器端进行。我试过了;

httpResponse.redirect("...");

但是它不起作用。

我怎样才能做到这一点?谢谢。

最佳答案

简短回答:不。

长答案:有可能,但不是按照您的想法。如果需要重定向到登录页面,则可能意味着用户当前未经身份验证。发回 401 response - 这将向客户端表明需要登录。

现在的技巧是不在每次调用中处理 401,而是在某个全局点处理它。例如,如果您使用 jQuery,您可以注册 global error handler并检查状态代码 - 如果是 401,则重定向到登录页面或接受身份验证数据。

关于java - 如何在 Java 中将 Ajax 请求重定向到登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33517094/

相关文章:

java - 尽管在项目中添加了特定的 jar,但未找到类(android 到 sqlserver,没有 web 服务)

c - C 客户端和 telnet 上的部分页面返回

javascript - 如何在 nightwatch.js 中发送 ajax get 请求

java - 为什么运行时依赖的类在编译时可用?

java - 使用 ByteBuddy 重新定义 java.lang 类

java - 如何在Java中打开文件夹/目录

node.js - 如何使用 Node Fetch 将来自 HTTP 请求的数据保存在变量中?

android - 在 Android 中创建服务的最佳方法是什么?

asp.net-mvc - Asp.net MVC - 如何检查 Ajax 请求的 session 过期