【问题标题】:How do i fix this Cors issue. I'm really stuck我如何解决这个 Cors 问题。我真的被困住了
【发布时间】:2019-08-25 06:46:11
【问题描述】:

我几天来一直遇到以下 CORS 问题,但我还没有解决它。 localhost:4200 上的 Angular 应用程序不允许我访问上传照片的路线。

我的后端是在 Laravel 中

我可以登录、注册和执行其他发布请求,但不能这样做。

这是我的应用的图片。

这是我注册为全局中间件的 CORS 中间件]

public function handle($request, Closure $next)
{
    return $next($request)
    ->header('Access-Control-Allow-Credentials', 'true')
    ->header('Access-Control-Allow-Origin', 'http://localhost:4200')
    ->header('Access-Control-Allow-Methods:  POST, GET, OPTIONS, PUT, DELETE')
    ->header('Access-Control-Max-Age', '3600')
    ->header('Access-Control-Allow-Headers', 'Origin, Content-Type, Authorization');


}

网络标签中的响应标题

1

2

3 4

【问题讨论】:

  • 你使用哪个后端?
  • @bhagwattupe 我正在使用 Laravel 5.8
  • 您是否检查了网络选项卡中的响应标头?
  • 你有没有在你的路由文件中检查header('Access-Control-Allow-Origin: http://yourdomain.com/');
  • @AndreMacNamara 我相信这个问题是由于从127.0.0.1:8000/api/advertisment/{id}/create 重定向到locahost:4200/advert/create 引起的,因为重定向的来源设置为空。在这里查看这篇文章:stackoverflow.com/questions/22397072/…

标签: php angular laravel cors


【解决方案1】:

您发布的图片实际上与您收到的错误不符。 Take a look at this answer;请注意,它提到的来源是null,这就是您在错误消息中看到的内容。问题是您的请求页面没有来源,因为您通过file:// 协议访问它。如果要使用 CORS,则需要托管请求文件目标 URL。

Access-Control-Allow-Origin 必须匹配 requesting 文件,特别是 - 不是目标 URL,就像您尝试做的那样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-14
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    • 2020-08-06
    相关资源
    最近更新 更多