【发布时间】:2019-04-04 20:30:47
【问题描述】:
(标题中错误消息的继续)“因此不允许访问 Origin 'http://127.0.0.1:4200'。”
当使用同一个 API 时,我无法在两个不同的域上运行同一个 Angular 5 站点。
此错误消息来自 Chrome。 Firefox 中的错误是:
跨域请求被阻止:同源策略不允许读取位于http://myapitest.local/v1/subscription/current/products 的远程资源。 (原因:CORS 标头“Access-Control-Allow-Origin”与“http://127.0.0.1:4200”不匹配)
我在处理我们的 Angular 应用程序的白标版本时注意到了这一点,该应用程序将在我们常规应用程序的替代 URL 上运行,但仍使用在相同 URL 上运行的相同 Laravel api。我已向 Laravel 添加了适当的 CORS 配置,这似乎是浏览器问题 - 不知道如何解决。
例如,我通过将 localhost:4200 更改为 127.0.0.1:4200 在 localhost 重新创建了它。
但是,在 GET 上,它似乎在响应中返回了 WRONG Access-Control-Allow-Origin 标头。
在此值得注意的是,将我在 API 中的 Allowed Origins 更改为允许所有 ('*') 并不能解决此问题。
我不确定我可以提供哪些其他信息或代码来更清楚地说明这一点。谢谢。
【问题讨论】:
-
从 localhost:4200 和我们部署的站点从地理服务器访问地图图块时,我遇到了同样的问题。有时 ctrl-f5 会修复它,但并不总是在 chrome 中。我尝试在浏览器中从两个站点清除应用程序数据。你找到解决这个@QuietSeditionist 的方法了吗?
-
通过在 chrome 开发工具的网络选项卡中临时禁用缓存来修复它。奇怪的,激进的缓存。
标签: angular laravel security cors