React使用axios的坑:每次都要请求两次,而且前后端相同配置,有的url可以,有的确不可以

用的React和AntDesign做的前端,发现几个问题:

1:

每次都要请求两次,一次OPTIONS,一次POST:

而我在后天使用的都是POST:

React使用axios的坑:每次都要请求两次,而且前后端相同配置,有的url可以,有的确不可以_第1张图片

调查后解释如下:

也就是说,它会先使用options去测试,你这个接口是否能够正常通讯,如果不能就不会发送真正的请求过来,如果测试通讯正常,则开始正常请求。 
关于这个问题,需要在后台进行设置,允许options请求,不然你的请求就会受到影响,后台并作出判断,如果请求方式为options,告诉它可以通讯,其他直接什么都不做。 

这个只要在后端设置允许OPTIONS请求就可以了

2:前后端相同配置,有的url可以,有的确不可以:

使用这个url:

React使用axios的坑:每次都要请求两次,而且前后端相同配置,有的url可以,有的确不可以_第2张图片

 

就这个url有问题,其他url如问题1里面的,都没有问题,很奇怪,经过排查后,是后台的权限校验框架shiro将url卡住了,因为当前的用户没有登录

 

 

 

另外:后端配置如下:

React使用axios的坑:每次都要请求两次,而且前后端相同配置,有的url可以,有的确不可以_第3张图片

React使用axios的坑:每次都要请求两次,而且前后端相同配置,有的url可以,有的确不可以_第4张图片

 

后端Controller的注解部分都如下:

React使用axios的坑:每次都要请求两次,而且前后端相同配置,有的url可以,有的确不可以_第5张图片

 

你可能感兴趣的:(React)