为啥我在使用 location.href 时总是被 CORS 阻止
Posted
技术标签:
【中文标题】为啥我在使用 location.href 时总是被 CORS 阻止【英文标题】:Why do I always get blocked by CORS while using location.href为什么我在使用 location.href 时总是被 CORS 阻止 【发布时间】:2018-06-13 00:39:00 【问题描述】:我在尝试从我的域重定向到另一个域时遇到了一个奇怪的错误。这就是我想要做的:
location.href="https://paystack.com/secure/xxx"
这是我得到的错误:
Failed to load https://paystack.com/secure/xxx: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:59610' is therefore not allowed access
我该怎么做才能通过这个?
【问题讨论】:
你为什么要这样更改网址?这似乎是一件奇怪的事情 您问题中的代码不会触发 CORS 问题。其他原因导致了这个问题。除非您发现问题,否则这里的任何人都无能为力。 @mast3rd3mon 我怎样才能做到最好 @Liam 我也这么认为,但是it seems it can. IIRC,CORS 预检请求仅在 HTTP 标头或 POST 参数发送到 URL 时发送。您必须在浏览器调试器的网络选项卡中检查请求以查找发送了哪些标头或参数。根据您的发现,我们可能会告诉您如何删除这些标头或参数。 【参考方案1】:我终于让它工作了。 这就是我所做的
window.location.replace('domain');
window.location.href ='domain'
【讨论】:
第一行什么也没做。以上是关于为啥我在使用 location.href 时总是被 CORS 阻止的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在使用 RestTemplate 获取数据时总是得到 403? [复制]
为啥我在使用 Passport 和会话时没有保持登录状态? Passport 的“isAuthenticated()”总是返回 false