【发布时间】:2022-10-27 07:23:13
【问题描述】:
我正在使用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.
【问题讨论】:
-
问题是因为同源策略阻止了由于端口号导致的始发/接收域不同而接收到响应。要解决此问题,您需要在
http://172.16.1.157:8002/firstcolumn/...的响应中返回 CORS 标头。具体如何操作取决于您使用的服务器端基础设施。 -
在这种情况下,Origin A 向 Origin B 发出 GET 请求;响应重定向到 Origin B 中的不同位置。解决方案是诱使 Chrome 认为 Origin B 是 Origin A。如果 Origin B 重定向到 Origin C 会怎样;我们可以指向任何 Origin C,还是我们必须欺骗 Origin C 使其显示为 Origin A?我想我们能够重定向到任何 Origin C(例如重定向到第三方单点登录页面,或 www.stackoverflow.com ),无论 Origin A 或 Origin C 的
Access-Control-Allow-Origin标头) -
就我而言,没有一个答案有效,最后证明是我的中间件(在本地服务器中)出现错误。万一它帮助某人
标签: javascript jquery vue.js vuejs2