Angular 6 cors问题不能使用代理

时间:2019-11-13 14:34:24

标签: angular

有没有什么方法可以解决角度为6的cors问题,而不是使用代理?

我已经在使用代理,但是如果我有动态URL,则无法使用代理。 我想要另一个解决方案,而不是使用代理。

3 个答案:

答案 0 :(得分:4)

CORS问题与Angular无关,而是CORS policy

的一部分

要解决该问题,应在服务器端而不是客户端上进行更改。您的服务器应添加适当的响应头(Access-Control-Allow-Origin,Access-Control-Allow-Methods等),并正确处理预检请求。有关详细信息,请参见上面的链接。

答案 1 :(得分:1)

在大多数情况下,CORS-Erros固定在服务器端。

CORS定义如下:

  

跨源资源共享(CORS)是一种允许   网页上的受限资源,需要从另一个域请求   在提供第一个资源的域之外。

此定义来自wikipedia。另一个信息来源可以是mozilla

例如,如果您无法打开.Net API,则可以在服务器上使用更改CORS策略。在您的CongfigureServices-方法中添加以下代码:

    // CORS
    services.AddCors(options =>
    {
        options.AddPolicy(MyAllowSpecificOrigins,
            builder =>
            {
                builder.AllowAnyOrigin();
                builder.AllowAnyHeader();
            });
    }); 

其他技术应该也有类似之处。

如果使用的不是您自己开发的API,请查看其文档以获取更多信息。

或者如您在问题中已经提到的,您可以使用代理。

希望有帮助!

答案 2 :(得分:0)

通过添加来固定在服务器端(symfony 2):

$response->headers->set('Access-Control-Allow-Origin', '*');