【发布时间】:2026-01-23 11:40:01
【问题描述】:
我正在学习 angularjs 和 web.api v2 并调用一个简单的 API 来获取联系人列表,使用以下代码:
$scope.GetAllContacts = function () {
$http.get('http://localhost:50820/api/contacts').
success(function (data, status, headers, config) {
$scope.contacts = data;
// OUT PUT WILL BE [{contact1},{contact2},....]
}).
error(function (data, status, headers, config) {
alert("couldn't get contacts.");
});
}
每个联系人对象都有(ID、姓名、姓氏、电子邮件)。
这是我的 HTML 页面
<content ng-controller="ContactController">
<table border="1">
<tr ng-repeat="contact in contacts">
<td>{{contact.Id}}</td>
<td>{{contact.Name}}</td>
<td>{{contact.LastName}}</td>
<td>{{contact.Email}}</td>
</tr>
</table>
</content>
当 API 仅返回 1 条记录时会出现问题,例如 {contact1} Like this {"Id":1,"Name":"James","LastName":"Oliver","Email":"james.oliver@ gmail.com"}
此时 angularjs 会将其视为具有 4 条记录的 JSON 对象,例如 [{ID},{Name},{Lastname},{Email}]
因此 Ng-Repeater 无法找到 contact.id、contact.name、contact.lastname 或 contact.email。
我不确定,是因为 ASP.Net API 返回错误的格式,还是我需要使用其他方法??
我已经尝试过 JSON.parse 和 Angular.toJson 但没有奏效。
【问题讨论】:
标签: json api parsing angularjs-ng-repeat response