我想将 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/