Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何向Angular应用程序发出CORS HTTP请求_Javascript_Angular_Http_Request_Cors - Fatal编程技术网

Javascript 如何向Angular应用程序发出CORS HTTP请求

Javascript 如何向Angular应用程序发出CORS HTTP请求,javascript,angular,http,request,cors,Javascript,Angular,Http,Request,Cors,我有一个Angular 5前端应用程序,在不同的域上有一个PHP API。大多数情况下,前端应用程序都会从API请求数据。为了实现这一点,我必须将CORS中间件类添加到PHP(Laravel)项目中: 然而,在一些情况下,我需要通过PHP生成一些HTML,并且我想从Angular应用程序请求一些资产(例如图像和字体)。但是当我尝试这个时,我得到了一个CORS错误。你能告诉我如何在Angular 5应用程序中启用CORS请求吗?你不能向客户端发出CORS请求。客户机发出请求。服务器做出响应 如果在

我有一个Angular 5前端应用程序,在不同的域上有一个PHP API。大多数情况下,前端应用程序都会从API请求数据。为了实现这一点,我必须将CORS中间件类添加到PHP(Laravel)项目中:


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

你不能向客户端发出CORS请求。客户机发出请求。服务器做出响应

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

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


关于如何配置各种服务器以设置HTTP头(以及许多特定于CORS的文件),有很多文档,因此请确定您正在使用的HTTP服务器,并查看如何进行设置。

您不能向客户端发出CORS请求。客户机发出请求。服务器做出响应

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

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


关于如何配置各种服务器以设置HTTP头(以及许多特定于CORS的文件),有很多文档,因此请确定您使用的是哪台HTTP服务器,并查看如何进行设置。

NginX服务器上的Angular项目。你是说我可能只需要在NginX配置文件中为此启用CORS?如果是托管字体和图像的服务器:是的。NginX服务器上的Angular项目。所以你是说我可能只需要在NginX配置文件中为此启用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');
    }
}