我有这个角度控制器:
(function () {
"use strict";
angular.module('appContacts')
.controller('organizationsController', function organizationsController(dataService, $stateParams) {
var vm = this;
vm.visible = false;
var id = $stateParams.Id;
activate();
function activate() {
dataService.GetOrganizationById(id).then(function (result) {
vm.organization = result.data;
}, function () {
vm.errorMessage = "Failed to load" + Error;
});
}
});
})();
这是我的数据服务文件:
(function () {
angular.module('appContacts')
.factory('dataService', ['$http', dataService]);
function dataService($http) {
return {
getAllOrganizations: getAllOrganizations,
GetOrganizationById: GetOrganizationById,
};
function getAllOrganizations() {
return $http({
method: 'GET',
url: 'api/organizations'
});
}
function GetOrganizationById(id) {
return $http({
method: 'GET',
url: '/api/organizations/{id}'
});
}
})();
此 dataService.js 调用存储库中的 GetOrganizationById 方法,如下所示:
...
public Organization GetOrganizationById(Guid Id)
{
return _context.Organizations
.Include(o => o.Contacts)
.ThenInclude(c => c.Phone.main == true)
.Where(o => o.Id == Id)
.FirstOrDefault();
}
...
存储库成功获取信息,发送回 dataService.js 并到达 organizationsController.js 中的这一行。我可以在 Chrome 调试器中看到:
dataService.GetOrganizationById(id).then(function (result)
但是在下一行,数据丢失,系统返回 204 错误代码:无数据。
vm.organization = result.data;
知道为什么控制器不接受在变量“结果”中发送的数据吗?
我在 Visual Studio 2015 EF 和 C# 后端工作。但问题只是在前端,因为我得到了信息,而且我也看到了 Postman