无法从角度2获得所有响应标题与cors
我有一个Angular 2(2.1.2
)客户端,ASP.NET Core作为启用了CORS的后端。正常的API(GET,POST,DELETE,...)工作正常,我的问题是当我尝试从响应中检索标题时;特别是Content-Disposition
。这是当我尝试使用Ajax获取文件内容时的屏幕截图。无法从角度2获得所有响应标题与cors
正如你可以看到有一个叫Content-Disposition
在GET响应头报头,但是当我尝试从角http
服务检索它丢失了。
快速提示,我只在开发中使用CORS。
您需要配置的服务器,这样就增加了响应头
access-control-expose-headers: content-disposition
否则浏览器不会使头可用于JavaScript。
任何地方我可以阅读更多关于此? –
搜索CORS –
谢谢我发现了所有CORS头文件的很好的描述 - https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Access-Control-Expose-Headers –
为了更精确,在ASP.NET核心,你可以在你Startup
类配置像这样,在Configure
方法:
app.UseCors(x =>
{
x.WithExposedHeaders("Content-Disposition");
// .. omitted
});
你的服务器可能缺少'访问控制 - 允许 - 标题:内容处置https://www.w3.org/TR/2014/REC-cors-20140116/#access-control-allow-headers-response-header –
我对ASP.NET Core仍然很陌生,但我有CORS这样启用'options.AddPolicy(“AllowAll”,builder => builder.AllowAnyMethod()。AllowAnyHeader()。AllowAnyOrigin())',我不知道我是否缺少一些东西。 – Ayman
不包含'AllowAnyHeaders'。我不知道ASP.NET,我只知道Angular2。 –