Angularjs$http.get以字符串形式返回JSON数据,其中包含转义引号而不是JSON

Angularjs $http.get returning JSON data as a string with escaped quotes instead of json

本文关键字:JSON 包含 转义 数据 get http 字符串 返回 Angularjs      更新时间:2023-09-26

这里有个有趣的问题。我有返回JSON的restful后端。当我通过浏览器访问api时,它会返回一个经过验证的json数组和一个json对象。

[{"GUID_Auth":null,"Email_Address":"abc@aol,"Measure_Id":1,"Title":"Prop41"}]

但是当我通过angularjs发出$http.get请求时,我会返回一个带有转义引号的字符串

成功:"[{''"GUID_Auth''":null,''"Email_Address''":''"abc@aol''",''"Measure_Id''":1,''"标题''":''"道具41''"}]"

这是我的angularjs控制器代码的一个片段

.controller('MainCtrl', function($scope,$http) {
  $scope.GetData = function(){
    var responsePromise = $http.get('http://backend.api');
    responsePromise.success(function(data,status,headers,config){
      console.log('got success: ' + data);
      console.log('test'+ data[0].Email_Address)
    });
    responsePromise.error(function(data,status,headers,config){
      alert('ajax failed');
    });
  },

这是非常令人困惑的任何帮助都将不胜感激。

$http正在序列化数据,因此在返回数据之前对其进行解析JSON.parse(data)