【发布时间】:2018-03-09 23:53:46
【问题描述】:
在我的 react-redux 应用程序中,我通过 axios 向我的后端服务 api 发出服务请求,我在这里很好,因为我可以完全控制我的后端服务,所以我添加了“Access-Control-Allow-Origin : *" 标题在我的服务的每个响应中。请注意,这里我的客户端和服务器托管在不同的服务器域中。
但问题是有一个服务将重定向到另一个 xyz 服务驻留在我没有任何控制权的另一个域中。现在 xyz 服务将在某些验证(登录会话)上重定向回我的服务器,我的服务器最终将响应发送到我的基于反应的客户端。
我在重定向 xyz 服务位于另一个域中时遇到 CORS 错误,该 xyz 服务不发送标头“Access-Control-Allow-Origin: *”。
如何在不更改服务器端的情况下解决此问题。我可以提出https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS 中提到的“简单请求”吗?这种方法我试过了,但是不行。
请帮助我。谢谢。
【问题讨论】:
-
如果问题是关于使用 axios 进行跨域请求,那么很抱歉,它不能通过服务器端更改来完成。您可以在此处签出另一个名为 reqwest 的 xhttp 模块 -> github.com/ded/reqwest 。即便如此,只有在浏览器支持的情况下才允许使用 CORS。
-
@luciferous 谢谢。所以你的意思是 reqwest 也会为我的情况抛出 cors 错误。
-
是的。除非 xyz 服务设置了适当的响应标头或实现了 JSONP(我对此表示怀疑)!
标签: reactjs http-headers cors cross-domain axios