使用js解决response.sendRedirect("...")重定向URL之后出现跨域问题

背景:

       本系统与门户系统单点登录时候,需要重定向到门户系统的登录页面,可是如果长时间没有操作的话,session会话失效,就需要跳转到登录页面。

所以在使用 response.sendRedirect("...")重定向URL后,在前段页面就会报

跨域问题Access to XMLHttpRequest'*'from origin '*' has been blocked by CORS..Access-Control-Allow-Origin ........等相关错误。

网上寻找了各种解决办法,可是在本系统中还是不适用,所以经过自己不断的尝试,终于找到解决办法,现在做一个分享!

解决办法:

       在前段页面,肯定会报这种类似的错误

Access to XMLHttpRequest at '*' from origin '*' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
这时,你不妨在JS报错的地方,把response的结果输入 console.log("response=",response),通过返回的response,来判断是哪种是属于重定向导致的报错,比如本系统中,我是这么操作的

       console.log("response==",response)
            if (response.status == -1) {
                if(response.data == null){
                    window.location.reload();
                }
                
            }

这种操作的结果,会直接刷新页面,也就是重定向的那个URL,跳转成功。

非常感谢您的阅读,如果这篇文章对您有所帮助,请随便打赏一下作为鼓励,我会再接再厉的!!!

 

原文地址:https://www.cnblogs.com/zhangliang88/p/11341692.html