首页 > 解决方案 > 如何解析没有转义双引号的 Angular $http 响应?

问题描述

我有这个对象从搜索端点返回,该端点具有一个可以具有这样值的属性(注意字符串中的双引号):

{
     ...,
    description: "24" curtain rod",
     ...
}

当我去捕获响应时:

promise
  .then(function(data) {
    vm.displayData = data.search_results;
  })

注意:正确返回 JSON,转义如下:

{..., "description": "24\" curtain rod", ... }

我的问题是,我一生都无法弄清楚为什么当我这样做时:

console.log(vm.displayData)

description属性undefined在浏览器控制台中设置为。.then()如果我只是在块中使用直接引用此属性(假设它在数组中的第一个)data.search_results[0].description,它将正确打印24" curtain rod. 我通过在我的请求中定义一个transformResponse属性找到了一个潜在的解决方法,$http但我觉得有一种更简单、更简单的方法。那会是什么?

PS:对于一些可能有用的上下文,该vm.displayData对象被赋予 UI-Grid 以呈现数据表。显示描述的表格单元格在md-input元素中也是可内联编辑的。

标签: javascriptangularjsstringhttpescaping

解决方案


推荐阅读