为什么从服务器获取响应会回答一个空标题?

时间:2019-07-18 11:44:18

标签: reactjs asp.net-core cors http-headers fetch

我在ReactJs中有一个Web应用程序,我需要调用我的服务器,该服务器是使用ASP.NET Core实现的REST API。问题是提取的响应返回一个空的头。

“获取”响应代码状态为200。成功,但是我不明白标题为何为空。

在服务器部分,标头已正确设置: 访问控制允许凭证:true 访问控制允许来源:* 访问控制公开标题:*

这是我的reactjs提取代码:

export const postCall = async (path, data) => {
  const response = await fetch(`https://localhost:44385/api/${path}`, {
    method: "POST",
    credentials: 'same-origin',
    headers: {
      "Accept": 'application/json',
      "Content-Type": "application/json"
    },
    body: data,
  });

  return response;
};

这是我的REST Api CORS政策:

services.AddCors(o => o.AddPolicy("Policy", builder =>
{
    builder.AllowAnyOrigin()
           .AllowAnyMethod()
           .AllowAnyHeader()
           .AllowCredentials()
           .WithExposedHeaders("*");

}));

这是我用console.log提取的结果,标题为空:

Header is empty

但是当我查看网络网络时,响应中会出现标题:

Header is present in response (Network tab)

当我尝试邮递员时,标题也会出现。

我需要标头来获取我的App的set-cookie的值。 为什么无法通过fetch获取标头?这是CORS问题吗?我的提取正确吗?是服务器端问题还是客户端问题?

0 个答案:

没有答案