Javascript Ng repeat未显示json数据

Javascript Ng repeat未显示json数据,javascript,json,angularjs,Javascript,Json,Angularjs,感谢您的支持。所以我有一个工厂,它使用post从C方法中获取一些数据。这一切似乎都在运行,因为我可以在控制台日志中看到返回的数据。然而,当我获取数据时,我似乎无法使用ng repeat使其正确显示 我尝试了几种不同的嵌套ng重复的方法,但仍然没有成功。所以现在我想我可能没有正确地传递调用中的数据,或者我的作用域已关闭。我也尝试过将数据.d传递到hangar.ships,而不仅仅是数据。对angular来说还是很新的,所以如果有人能帮我指出正确的方向,我将不胜感激 应用程序代码: var app

感谢您的支持。所以我有一个工厂,它使用post从C方法中获取一些数据。这一切似乎都在运行,因为我可以在控制台日志中看到返回的数据。然而,当我获取数据时,我似乎无法使用ng repeat使其正确显示

我尝试了几种不同的嵌套ng重复的方法,但仍然没有成功。所以现在我想我可能没有正确地传递调用中的数据,或者我的作用域已关闭。我也尝试过将数据.d传递到hangar.ships,而不仅仅是数据。对angular来说还是很新的,所以如果有人能帮我指出正确的方向,我将不胜感激

应用程序代码:

var app = angular.module('shipSelection', ['ngRoute', 'ngResource']);
app.controller('ShipController', function ($scope, ShipService) {
    var hangar = this;
    hangar.ships = [];

var handleSuccess = function (data, status) {
    hangar.ships = data;

    console.log(hangar.ships);
};

ShipService.getShips().success(handleSuccess); 

});

app.factory('ShipService', function ($http) {
    return {
        getShips: function () {
            return $http({
                url: '/ceresdynamics/loadout.aspx/getships',
                method: "post",
                data: {},
                headers: { 'content-type': 'application/json' }
            });
        }
    };
});
标记:

<div class ="col-lg-12" ng-controller="ShipController as hangar" > 
    <div class =" row">
        <div class="col-lg-4" ><input ng-model="query" type="text"placeholder="Filter by" autofocus> </div>
    </div><br />
        <div class="row"> 
            <div ng-repeat="ship in hangar.ships | filter:query | orderBy:'name'">              
             <div class="col-lg-4">    
                <div class="panel panel-default">        
                    <div>
                        <ul class="list-group">
                            <li class="list-group-item" >
                               <p><strong>ID:</strong> {{ ship.ShipID }} <strong>NAME:</strong> {{ ship.Name }}</p>
                                           <img ng-src="{{ship.ImageFileName}}" width="100%" />      
                            </li>
                        </ul>
                    </div>                                              
                </div><!--panel-->
              </div> <!--ng-repeat-->
            </div>  
       </div> 
  </div> <!--ng-controller--> 

根据AngularJS版本1.2,默认情况下,阵列不再从Promise中展开,请参见迁移说明。我看到它仍然可以处理对象,但根据文档,您也不应该依赖它

请看这个答案

如果添加JSON.parsedata会发生什么

如果这样做有效,您应该添加一些检入,并可能将该逻辑迁移到服务中。或者对另一个答案使用$resource


非常感谢。parse做到了这一点,我想我之前已经尝试过了,但是我在这方面做了太多的工作,我记不起我用了哪种代码组合。旁注:我实际上必须将json.parsedata.d作为数据来处理。d是它返回的数组的名称。再次感谢!
Object
d: "[{"ShipID":"RDJ4312","Name":"Relentless","ImageFileName":"Ship2.png"},{"ShipID":"ZLH7754","Name":"Hercules","ImageFileName":"Ship3.png"},{"ShipID":"FER9423","Name":"Illiad","ImageFileName":"Ship4.png"}]"
__proto__: Object