我正在尝试使用angular ng-repeat将JSON请求的结果放入表中,但是什么也没发生。控制台未显示任何错误,.NET Controller中的断点未命中。
App Controller代码:
var app = angular.module('angularTable', []);
app.controller('listdata', function ($scope, $http) {
$scope.contacts = [];
$http({ method: 'GET', url: '/Contacts/GetContacts/' }).success(function (response) {
$scope.contacts = response;
});
});
.NET控制器
[HttpGet]
public JsonResult GetContacts()
{
var data = db.Contacts.Include(x => x.Cities).Include(a => a.Groups);
return Json(data);
}
HTML:
<div ng-app ="angularTable">
<table class="table table-hover" ng-controller="listdata">
<thead>
<tr>
<th>Name</th>
<th>Phone</a></th>
<th>Group</th>
<th>City</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in contacts">
<td>{{item.name}}</td>
<td>{{item.area}} {{item.phone}}</td>
<td>{{item.group.description}}</td>
<td>{{item.city.name}}</td>
<td>
<a asp-route-id="{{item.id_Contact}}">Send Message | </a>
<a asp-route-id="{{item.id_Contact}}">Edit | </a>
<a asp-route-id="{{item.id_Contact}}" asp-action="Delete">Delete</a>
</td>
</tr>
</tbody>
</table>
</div>
将此CDN用于AngularJS:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script>
答案 0 :(得分:1)
首先,如@ThiagoCustodio所述,请在浏览器中输入网址,并检查是否可以获得预期的json结果。
第二,您可以尝试修改如下代码,以允许来自客户端的HTTP GET请求。
public JsonResult GetContacts()
{
var data = db.Contacts.Include(x => x.Cities).Include(a => a.Groups);
return Json(data, JsonRequestBehavior.AllowGet);
}
此外,如果AngularJS客户端作为单独的应用程序运行,请检查是否在后端(服务)应用程序中针对特定来源启用/配置了CORS。