Angular 5:(未知URL)的Http失败响应:0调用api时EDGE浏览器出现未知错误

时间:2018-05-04 02:28:22

标签: cors angular5 microsoft-edge angular-httpclient

我有一个角度为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以外的所有浏览器。感谢您的帮助。

2 个答案:

答案 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