Angularjs 在transformResponse内的数组上添加新项时,无法分配给只读属性

Angularjs 在transformResponse内的数组上添加新项时,无法分配给只读属性,angularjs,Angularjs,JSON: 错误: [{"name":"John"},{"name":"Jim"}] Javascript: Cannot assign to read only property 'age' of [ at transformResponse (angular.js?compile=false:9224) at processQueue (angular.js?compile=false:12914) angular.module('myservice',[]) .factory(“dem

JSON:

错误:

[{"name":"John"},{"name":"Jim"}]
Javascript:

Cannot assign to read only property 'age' of [ at transformResponse (angular.js?compile=false:9224) at processQueue (angular.js?compile=false:12914)
angular.module('myservice',[])
.factory(“demoService”,函数($http,rootUrl){
返回{
getDashboardData:函数(){
返回$http({
url:rootUrl+'/api/mainpage',
方法:“GET”,
transformResponse:功能(数据){
var currentDate=新日期();
对于(变量i=0;i
需要先反序列化数据,然后才能对其进行操作。指定其他transformResponse时,传递给它的数据对象尚未通过Angular的默认transformResponse,因此尚未解析为JSON。我通常将解析JSON作为transformResponse的第一步,比如:data=JSON.parse(data)

angular.module('myservice',[])
.factory(“demoService”,函数($http,rootUrl){
返回{
getDashboardData:函数(){
返回$http({
url:rootUrl+'/api/mainpage',
方法:“GET”,
transformResponse:功能(数据){
//首先将数据解析为JSON
data=JSON.parse(数据);
var currentDate=新日期();
对于(变量i=0;i

}))

我看不到代码中有任何问题,但是,您是否可以在
transformResponse
中对
数据
执行
控制台.log
并检查?
angular.module('myservice', [])
     .factory("demoService", function ($http,rootUrl) {
            return {
                getDashboardData: function () {
                    return $http({
                        url: rootUrl + '/api/mainpage',
                        method: 'GET',
                        transformResponse: function (data) {
                            var currentDate = new Date();

                            for (var i = 0; i < data.length; i++) {
                                var row = data[i];
                                row["age"] = 35;
                            }
                            return data;
                      }
                });
            }
      }
});
angular.module('myservice', [])
 .factory("demoService", function ($http,rootUrl) {
        return {
            getDashboardData: function () {
                return $http({
                    url: rootUrl + '/api/mainpage',
                    method: 'GET',
                    transformResponse: function (data) {
                        // parse data as JSON first
                        data = JSON.parse(data);
                        var currentDate = new Date();

                        for (var i = 0; i < data.length; i++) {
                            var row = data[i];
                            row["age"] = 35;
                        }
                        return data;
                  }
            });
        }
  }