【问题标题】:How to make CORS HTTP Request TO Angular App如何向 Angular 应用程序发出 CORS HTTP 请求
【发布时间】:2018-11-16 07:09:22
【问题描述】:

我有一个带有 PHP API 的 Angular 5 前端应用程序,位于不同的域上。大多数时候,前端应用程序从 API 请求数据。为此,我必须在 PHP (Laravel) 项目中添加一个 CORS 中间件类:

namespace App\Http\Middleware;

use Closure;

class Cors
{
    public function handle($request, Closure $next)
    {
        return $next($request)
            ->header('Access-Control-Allow-Origin', '*')
            ->header('Access-Control-Allow-Headers', 'Authorization, Origin, X-Requested-With, Content-Type, Accept')
            ->header('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS');
    }
}

然而,在少数情况下,我需要通过 PHP 生成一些 HTML,并且我想从 Angular 应用程序请求一些资产(例如图像和字体)。但是当我尝试这个时,我得到一个 CORS 错误。你能告诉我如何为我的 Angular 5 应用启用 CORS 请求吗?

【问题讨论】:

标签: javascript angular http request cors


【解决方案1】:

您无法向客户端发出 CORS 请求。客户端发出请求。服务器做出响应。

如果在请求静态文件时收到与 CORS 相关的错误,则需要配置服务器以将适当的标头放入响应中。

由于 PHP 没有处理响应,因此您的中间件没有运行。所以你需要找到另一种方法。

那里有大量关于如何配置各种服务器以设置 HTTP 标头的文档(以及大量特定于 CORS 的文档),因此请确定您正在使用的 HTTP 服务器并查找如何操作。

【讨论】:

  • NginX 服务器上的 Angular 项目。所以你是说我可能只需要为此在 NginX 配置文件中启用 CORS?
  • 如果是托管字体和图像的服务器:是的。
猜你喜欢
  • 2021-09-03
  • 1970-01-01
  • 2016-08-14
  • 1970-01-01
  • 2021-08-01
  • 2017-06-19
  • 1970-01-01
相关资源
最近更新 更多