我有一个角度为5的应用程序,它调用.NET Core 2.0后端api。从角度服务调用API在所有浏览器(Chrome,Firefox,IE11)中均可正常工作,但在EDGE中无效。在EDGE中,我收到错误
Http failure response for (unknown url): 0 Unknown Error.
这是一个CROSS ORIGIN CALL,并在API中启用了Cors,如下所示。现在我正在启用任何来源
services.AddCors(options =>
{
options.AddPolicy("AllowAllOrigins",
builder =>
{
builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod();
});
});
在配置方法
中app.UseCors("AllowAllOrigins");
适用于Edge以外的所有浏览器。感谢您的帮助。
答案 0 :(得分:0)
进入相同的情况-Angular 6,Edge,相同的错误,其他浏览器也能正常工作。使用Fiddler可以解决此问题。
问题是,我的网站运行在localhost上,Edge实施了不同的安全规则。在不同服务器上测试过该网站后,它就像一个魅力。
假设它可能与此question有关。
答案 1 :(得分:0)
(未知网址)的HTTP错误响应:0未知错误。
发生此错误是由于与其他浏览器相比,Edge具有更高的安全性。 这确实是Cors问题。
可以通过两种方式解决->
您可以通过添加为Access-Control-Allow-Origin:*或
来修改服务器端的标头在角度内配置proxy.conf.json,确保在配置代理时,它在浏览器控制台中不会显示实际的服务器URL,
例如,您的客户端url为localhost:3000,服务器url的api托管为www.server.com/api/apiname,然后在浏览器控制台中将显示如下
localhost:3000 / api / apiname