有没有什么方法可以解决角度为6的cors问题,而不是使用代理?
我已经在使用代理,但是如果我有动态URL,则无法使用代理。 我想要另一个解决方案,而不是使用代理。
答案 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', '*');