如何解决“重定向已被 CORS 策略阻止:没有 'Access-Control-Allow-Origin' 标头”?

IT技术 javascript jquery vuejs2
2021-01-22 14:50:59

我正在使用Vue js. 根据我的设置,我需要在设置更改时将变量传递给我的 URL。

<!-- language: lang-js -->

    $.get('http://172.16.1.157:8002/firstcolumn/' + c1v + '/' + c1b, function (data) { 
      // some code...
    });

但是当我的应用点击 URL 时,它显示以下消息。

Failed to load http://172.16.1.157:8002/firstcolumn/2017-03-01/2017-10-26: Redirect from 'http://172.16.1.157:8002/firstcolumn/2017-03-01/2017-10-26' to 'http://172.16.1.157:8002/firstcolumn/2017-03-01/2017-10-26/' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.
6个回答

除了 awd 提到的让负责服务器的人重新配置(本地开发的一种不切实际的解决方案)之外,我还使用了一个像这样的更改源 chrome 插件:

Moesif Orign & CORS 转换器

你可以让你local dev server (ex: localhost:8080)的看起来像是来自172.16.1.157:8002 or any other domain.

@altShiftDev 此插件是否有任何选项可以处理:“对预检请求的响应未通过访问控制检查:预检请求不允许重定向。”?
2021-03-15 14:50:59
我不知道如何设置它,你能进一步解释一下吗?截图会很好。
2021-03-25 14:50:59
尝试输入您的真实 ip 而不是本地主机。尝试谷歌你的ip并用@Black替换'localhost'
2021-03-31 14:50:59
很好的建议
2021-04-08 14:50:59

谢谢大家,我通过 chrome 上的这个扩展解决了。

允许 CORS:访问控制允许来源

现在链接失效了:(
2021-03-24 14:50:59
更新链接我的朋友!
2021-03-25 14:50:59
断开的链接,根本没有描述。
2021-03-28 14:50:59
扩展只是临时修复,而不是问题的解决方案
2021-04-06 14:50:59

如果您可以控制服务器,则可以使用 PHP:

<?PHP
header('Access-Control-Allow-Origin: *');
?>
我可以知道如何从角度解决这个问题吗?
2021-03-18 14:50:59
最好添加到 .htaccess 文件中,这将适用于整个项目,而不仅仅是您添加了此代码段的网站。
2021-03-20 14:50:59
太感谢了!这有效...... Cheerio!
2021-03-25 14:50:59
对我来说它甚至没有达到 php 脚本
2021-04-04 14:50:59

请在http://172.16.1.157:8002/维护服务器的人员将您的主机名添加到 Access-Control-Allow-Origin 主机,服务器应返回类似于以下内容的标头以及响应 -

Access-Control-Allow-Origin: yourhostname:port
@RoryMcCrossan 它说来源是本地主机,所以 cors 被触发。我认为?
2021-03-24 14:50:59

当 Chrome 遇到此问题时,您不需要扩展程序。
从控制台启动 Chrome:

chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security

也许您必须关闭 Chrome 中的所有选项卡并重新启动它。