我在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 present in response (Network tab)
当我尝试邮递员时,标题也会出现。
我需要标头来获取我的App的set-cookie的值。 为什么无法通过fetch获取标头?这是CORS问题吗?我的提取正确吗?是服务器端问题还是客户端问题?