axios 403 在 OPTIONS 请求中被禁止
Posted
技术标签:
【中文标题】axios 403 在 OPTIONS 请求中被禁止【英文标题】:axios 403 forbidden on OPTIONS request 【发布时间】:2017-11-28 11:09:00 【问题描述】:我正在开发一个使用 React+Redux 并使用 axios
进行 api 调用的应用程序。
这是一个失败的示例调用:
axios.post(`$API_ROOT$FIND_USER$currentUserID`,
headers:
'Authorization': token
,
)
.then((response) =>
console.log("Sucess")
)
我在network
中看到的请求网址类似于:
http://domainName:8080/users/findUser/1234
API 调用在 OPTIONS
本身失败,我从后端收到的错误是
Response for preflight has invalid HTTP status code 403
它永远不会到达POST
。
token
是从 localstorage
检索的,类似于 Bearer eyJhbGci...
。
后端开发人员正在使用 Java 和 Spring。
我调用 API 的方式是否有问题,或者这个问题应该在后端解决?
通过 Postman 测试时,此 API 工作正常。
【问题讨论】:
这可能是 CORS 问题,当您通过 Postman 发出请求时,您是否在响应中看到任何Access-Control-Allow-Origin
标头?
【参考方案1】:
原来在后台已经有解决这个问题的办法了:
How to configure CORS in a Spring Boot + Spring Security application?
它就像一个魅力!
【讨论】:
【参考方案2】:'headers' 在 axios 的 POST 请求中总是作为第三个参数出现。如果有任何参数,请给出第二个参数或将第二个参数作为空字符串传递。
【讨论】:
以上是关于axios 403 在 OPTIONS 请求中被禁止的主要内容,如果未能解决你的问题,请参考以下文章
跨源请求在 tomcat 8 中被阻止,HTTP 状态代码为 403
django rest + axios put请求错误403
执行 POST 请求时的 Spring Boot 端点 403 OPTIONS