AngularJS не заполняет таблицу
У меня есть следующий ASMX WebService
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string GetReport()
{
List<object> result = new List<object>();
DataTable results = conn.GetDataSetByQuery("SELECT * FROM TABLE")
foreach (DataRow i in results.Rows)
{
result.Add(new { A = i["ColumnA"], B = i["ColumnB"] });
}
var res = JsonConvert.SerializeObject(result);
return res;
}
Когда я выполняю этот код с помощью вызова ajax или моей функции Angular (ниже) возвращает что-то вроде этого:
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">[{"A":"12","B":"xd"},{"A":"43","B":"xd"},{"A":"Abc","B":"xd"},{"A":"SW1","B":"xd"},{"A":"Abc1","B":"xd"}]</string>
Мой HTML / Angular следующий:
<div class="container" ng-app="myApp" ng-controller="myController">
<div class="panel panel-default">
<div class="panel-heading">
<h4>OEE - Dashboard</h4>
</div>
<div class="panel-body">
<div class="row">
<div class="col-md-12 col-xs-12 form-group">
<table id="Table" class="table table-bordered table-condensed">
<thead>
<tr>
<th>Column A</th>
</tr>
</thead>
<tbody id="TableBody">
<tr ng-repeat="oee in list track by $index">
<td>{{oee.A}}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
var app = angular.module('myApp', []);
app.controller('myController', function ($scope, $http) {
var request = {
method: 'POST',
url: 'MyAPI.asmx/GetReport',
contentType: 'application/json',
dataType: 'json'
};
$scope.arrOEE = new Array;
$http(request)
.success(function (jsonData) {
$scope.arrOEE = jsonData;
$scope.list = $scope.arrOEE;
console.log($scope.list);
})
.error(function () {
});
});
Этот код добавляет только пустые строки, если я изменяю ooe.Line к oee результат json добавляется в столбец в несколько строк.
btw Мне нужно было поставить track по $ index на ng-repeat, потому что без этого я получаю следующее сообщение об ошибке:
Ошибка: [ngRepeat: dupes]
В чем проблема и как ее решить это? Я использую angular 1.5.0.