Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   Вывод ответа сервера (https://javascript.ru/forum/angular/54924-vyvod-otveta-servera.html)

balalay12 06.04.2015 20:49

Вывод ответа сервера
 
Добрый вечер.

Проблема с выводом данных отданных сервером. В контроллере данные ложу в переменную
app.controller('UpdateFormController', ['$scope', '$http', '$routeParams', function($scope, $http, $routeParams) {
    var _id = {pk: $routeParams.operId};
    $http.post('/update/', angular.toJson(_id))
    .success(function(data, status) {
        console.log('Success: data -> ' + data + ' :: status -> ' + status);
        $scope.obj = data;
    })
    .error(function(data, status) {
        console.log('Error: data -> ' + data + ' :: status -> ' + status);
    });
}]);

В шаблоне если вызвать переменную
Код:

{$ obj $}
то выведет всю строку с ответом
Код:

[{"category":1,"comment":"dsfasdf","money":123,"user":[13],"date":"2015-03-22","id":1}]
Но если выводить
Код:

{$ obj.date $}
то мне пишет undefined.
Не могу понять почему такое происходит. Что я делаю не так?

З.Ы. еще заметил что ангуляр 2 раза шлет запрос на сервер. Тоже не понимаю почему так происходит.

Shasoft 06.04.2015 23:18

Судя по всему у вас данные возвращаются КАК ТЕКСТ. Вам нужно преобразовать их в строку
var obj = angular.fromJson(data);
console.log('Success:',obj,status);// лучше использовать $log из Angular
$scope.obj = obj;

ksa 07.04.2015 08:08

Цитата:

Сообщение от balalay12
obj.date

то мне пишет undefined.

Ты слепой? :)
Тебе пришел массив, а в массиве объект

var obj=[
   {
      "category":1,
      "comment":"dsfasdf",
      "money":123,
      "user":[13],
      "date":"2015-03-22","id":1
   }
];
alert(obj[0].date);

balalay12 07.04.2015 08:18

Сделал как Вы советовали, но не помогло.
Насчет текста. В консоли видно, что приходит объект
Код:

[Object]
    0: Object
        category: 1
        comment: "adf"
        date: "2015-03-23
        "id: 4
        money: 123
        user: Array[1]


ksa 07.04.2015 08:26

Цитата:

Сообщение от balalay12
но не помогло

Делай тестовый пример полный. Потому как понять, что ты там делал, как и когда, нет никакой возможности...
Цитата:

Сообщение от balalay12
В консоли видно, что приходит объект

В консоли видно что первый члюч 0, а потом уже идут другие ключи...

balalay12 07.04.2015 08:30

Да, Ваш ответ мне помог. Спасибо.
У меня мало опыта работы с JS и я даже не увидел, что в ответе массив.
Буду внимательнее.

Shasoft 07.04.2015 09:15

ksa,
"слона" то и не заметил :)


Часовой пояс GMT +3, время: 07:11.