问题描述
今天在项目上遇到的一个问题,一个tomcat中运行多个项目(portal/oa/partform),然后分别从这些项目的接口中加载数据,首先调用portal/index进入页面,然后再分别调用portal/oa/partfrom下的接口请求数据(ajax->get),其中portal接口下返回200,其他的几个返回302;
上面这种情况只会出现在页面第一次加载的时候(浏览器清除缓存的时候),当页面加载过(浏览器有缓存时)刷新页面就没有问题;
今天在项目上遇到的一个问题,一个tomcat中运行多个项目(portal/oa/partform),然后分别从这些项目的接口中加载数据,首先调用portal/index进入页面,然后再分别调用portal/oa/partfrom下的接口请求数据(ajax->get),其中portal接口下返回200,其他的几个返回302;
上面这种情况只会出现在页面第一次加载的时候(浏览器清除缓存的时候),当页面加载过(浏览器有缓存时)刷新页面就没有问题;
清除缓存之后,要重新登录啊。强制跳转到登录页面去。
302是重定向。一般会在ajax中返回重定向后的地址Location
,
var location = xhr.getResponseHeader('Location');
然后拿location
作为新地址重新发起ajax请求。参考:
ajax异步请求302
看截图似乎是因为没有认证导致的重定向。一般来说,很多应用都需要登录才能查询页面或调用接口的,看看是不是这个原因。