OPTIONS请求时设置了Header请求和token可是后台接收不到,为什么?

17 篇文章 1 订阅
7 篇文章 0 订阅

人工智能,零基础入门!http://www.captainbed.net/inner

1、首先,说一下我们的项目情况,我们项目中后端有一个拦截器,如果必须要登录的接口路径会被拦下来检查,前端要传一个token【我们项目中叫sessionId】,然后后端根据这个token来判断redis中这个用户是否已经登录。

2、但是现在问题出现了,就是这个sessionId就是死活传不过来,试了各种办法还是不行,感觉像是前端的问题又像是后端的问题,心态接近爆炸,这个时候就开始冷静从头想到尾,看看到底是哪里的问题。

3、于是看每一步的细节啊,下面是那个找问题的过程截图:

【1】前端的请求header信息

【2】

【3】前端控制台的报错信息

【4】后端的日志信息

4、看问题截图,有个重要错误信息:就是OPTIONS请求出错,这个时候去搜资料,看到各种说法

【1】有的说,好像是OPTIONS请求无法携带自定义header

【2】有的说后端网关会拦截OPTIONS请求

。。。。。。

5、最后一个一个尝试,下面的方法可以:

在拦截器中加几行代码:

//添加这行代码,让OPTIONS请求通过
if (httpServletRequest.getMethod().equals("OPTIONS")) {
    httpServletResponse.setStatus(HttpServletResponse.SC_OK);
    return true;
}

6、OK、一切正常!

 

 

 

 

 

  • 15
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值