遇到的一个问题
ajax请求接口,接口返回status code 302 重定向,但是浏览器并未重定向成功,发生页面跳转 URL改变之类的。。。
于是,网上查找了一番,,,,,ajax 请求的status code是302后的过程是这样的:
- 发起ajax请求
- 请求响应 status code是302
- 未进入ajax的回调函数中,而是先重定向。
- 浏览器直接读取该请求的响应的response header中的location的值,发起请求。
- 若该请求成功,则进入第一步中的ajax请求的success回调
- 若该请求失败,则进入第一步中的ajax请求的error回调
解决方法:
由于项目中的请求统一是ajax方式的,需要后端返回json形式的response data,并修改status code,在ajax的回调函数中接收重定向的目标地址,,手动跳转