【发布时间】:2016-05-25 16:11:23
【问题描述】:
我正在尝试在我的 HttpResponseMessage 中传递一条信息以及我的内容,例如:
string jsonFiles = JsonConvert.SerializeObject(listFiles);
HttpResponseMessage response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content = new StringContent(jsonFiles)
};
response.Headers.Add("Key", "Value");
return response;
但是,在我的角度调用和响应中,我在 response.config.headers 或 response.headers 中看不到“Key”标头。知道为什么吗?
$http.get("/api/Locker").then(function (response) {
console.log(response);
console.log(response.headers);
console.log(response.config.headers);
});
在我的 Startup.cs 中我确实有:
app.UseCors(CorsOptions.AllowAll);
app.UseWebApi(config);
【问题讨论】:
-
您可以尝试使用带有 4 个参数(响应、状态、标头、配置)的成功重载并访问标头吗?
-
未定义。但是,如果我只使用响应,则响应对象具有所有这些属性。 Response.config.headers 有一个 Accepted 头和一个 Bearer 头,但不是我添加的。
-
根据文档 response.config 返回发送请求时使用的配置。 response.headers 是一个函数。尝试使用 response.headers("Key") 看看是否有帮助。
-
工作就像一个魅力萨拉西如果你想回答我会接受的
-
添加为答案。很高兴它成功了。
标签: angularjs http asp.net-web-api response