Angular $http post возвращает пустые данные
Мне удается отправить сообщение на сервер. Я хочу получить обновленные данные и загрузить их обратно в тот же объект JSON, но ответ на данные является нулевым.
$scope.saveDetails = function() {
$http({
method : 'POST',
url : '/service/rest/orders',
data : $scope.orderDetails
})
.success(function(data, status) {
$scope.orderDetails = data;
})
.error(function() {
alert('error');
});
}
Также стоит отметить, что исходный объект передается от другого контроллера через $rootcope и вводится в локальную область видимости.
$scope.orderDetails = $rootScope.newOrder;
Спасибо за любую помощь.
3 ответа
Ваш код выглядит хорошо, я бы проверил бэкэнд, чтобы убедиться, что данные действительно отправляются. Другой вариант - использовать Chrome Инспектор и проверить ответ, чтобы убедиться, что вы действительно что-то получаете.
Оказывается, он возвращал весь объект, и порядок был глубже, я сначала не видел этого в своей консоли.
$scope.orderDetails = data.order;
Спасибо за все ответы.
В случае, если кто-то еще сталкивается с этим, в моем случае у меня был класс с примененным атрибутом контракта данных:
[DataContract (Namespace = " http://somespace.com/")]
И моим ученикам не был предоставлен атрибут [DataMember]. Веб-API не возвращал данные. Я добавил атрибут [DataMember], и он исправил это.
[DataMember] public int NumberUpdated { get; set; }
[DataMember] public int NumberInserted { get; set; }
[DataMember] public List<ServicesListImport> InvalidRows {get; set;}