从Header var获取时,Angular中加载的数据显示为String而不是Object

时间:2016-02-03 19:18:00

标签: javascript angularjs asp.net-mvc asp.net-apicontroller

在角度控制器上我有以下功能:

vm.test = function () {
  testService.test()
    .then(function (response) {
      var pagination = response.data;
      var xPagination = response.headers("x-pagination");
      console.log(pagination);
      console.log(xPagination);
    })
}

在控制台上,我看到分页是一个对象,但xPagination显示为:

 { "pageNumber": 2}

所以当我尝试时,我得到了不确定:

 console.log(xPagination.pageNumber);

但是在使用pagination.pageNumber时我没有这个问题。

我正在调用的测试API使用ASP.NET API,我有:

在ASP.NET Web Api上,我有以下内容:

// This is test code to isolate the problem
public async Task<IHttpActionResult> Test() {

  Pagination pagination = new Pagination { PageNumber = 2 }; 

  HttpResponseMessage response = Request.CreateResponse<Pagination>(HttpStatusCode.OK, pagination);

  String xPagination = JsonConvert.SerializeObject(pagination, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() });

  response.Headers.Add("x-pagination", xPagination);

  return ResponseMessage(response);

}

我错过了什么?我希望xPagination成为Angular中的Object。

我在API中做错了什么,或者我是否需要在Angular部分做其他事情?

0 个答案:

没有答案