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;}
Другие вопросы по тегам