发布网友 发布时间:2022-12-02 00:42
共1个回答
热心网友 时间:2023-01-20 22:28
vue项目,axios请求。
首先 ,如果不加以上请求头的话,返回的是302。这个时候在axios里面是报错的,直接走error。且response为undefined的,status为0。如下图(问题:为什么返回到status和接口显示到status code 不一致?)
其次 ,加上请求头设置。
axios
ajax
这个时候返回的是200,且能获取返回的信息。前端应该根据信息去重定向。
原因 :
X-Requested-With请求头用于在服务器端判断request来自Ajax请求还是传统请求(包括表单提交,a标签 img标签等)。
我的理解是即便不加这个请求头,我们发送的也是ajax请求,但是服务器不知道,所以是服务器强制要求,加上这个会判断为ajax请求。目前我们的项目,是通过单点登录系统做了一层拦截。也就是单纯的后台系统来判断的,如果不加这个请求头,单点登录系统就拦截到,直接给302了。如果加上了,就可以正确访问我们的接口,这个时候才能走到接口里面,拿到正确的返回值。 这里再判断是否登录过,返回不同的值。