因新项目是个独立的模式开发,需要和老系统关联登陆信息。因此需要做第三方登陆sso,判断是否跳转登陆的时候 。前端需要判断response的header
这样配合后台的同事 在前端做了个状态拦截,操作如下:
axiosIns.interceptors.response.use(function (response) {
const status = response.status
if (status === 200) {
return Promise.resolve(response)
} else if (status === 403) {
let headers = response.headers;
if ("Redirect" == headers.redirect) { //若HEADER中含有REDIRECT说明后端想重定向,
var win = window;
while (win != win.top) {
win = win.top;
}
win.location.href = headers['redirect-path'];
}
} else {
return Promise.reject(response)
}
})
因用axios 封装了vue项目中的ajax请求 故上述代码中也拦截了状态200的情况