首页 > 解决方案 > 我如何解决这个 Cors 问题。我真的被困住了

问题描述

几天来,我一直遇到以下 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

网络 1 2

网络 2 3 网络 3 4 网络 4

标签: phpangularlaravelcors

解决方案


您发布的图像实际上与您收到的错误不符。 看看这个答案;请注意,它提到了 origin being null,这是您在错误消息中看到的内容。问题是您的请求页面没有来源,因为您正在通过file://协议访问它。如果要使用 CORS,则需要托管请求文件和目标 URL。

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


推荐阅读