Значение $scope не может прочитать в контроллере

Я не уверен, что с этим не так, но почему-то не могу прочитать правильное значение $ scope.

Вот мой код на контроллере ->

$scope.verifyMobile = SearchFactory.verify.query({uuid: uuid});

JSON, возвращаемый службой отдыха ->

 verifyNumber -- > {"id":1,"uuid":"2222","phoneNumber":"782941768355"}

Я конвертирую POJO в JSON с помощью gson.toString (класс Java verifyNumber);

Но когда я пытаюсь проверить значение phonenumber после вызова службы в контроллере, оно всегда отображается как неопределенное. Может кто-нибудь, пожалуйста, помогите. Когда я жестко кодирую значение возвращаемого JSON, оно работает нормально, но не с сервисом.

 alert(JSON.stringify($scope.verifyMobile).uuid);

1 ответ

Решение

Вы не используете $resource правильно. Из угловой документации для $resource:

Методы действия для объекта класса или объекта экземпляра могут быть вызваны со следующими параметрами:

• HTTP GET "классовые" действия: Resource.action([parameters], [success], [error])

• не GET "классовые" действия: Resource.action([parameters], postData, [success], [error])

• действия экземпляра без GET: instance.$action([parameters], [success], [error])

query() это действие GET "class", поэтому правильный вызов будет:

SearchFactory.verify.query({uuid: uuid}, function(data){
    //do something here on successful data retrieval
    $scope.verifyMobile = data;
}, function(){ 
   //do something here on failure
});

Стоит отметить, что исходный вызов действительно работает, но поскольку это асинхронный вызов, то возвращаемое обещание, а не фактические данные.

Также стоит отметить, стандартизированные действия HTTP для $resource выглядеть следующим образом:

{ 'get':    {method:'GET'},
  'save':   {method:'POST'},
  'query':  {method:'GET', isArray:true},
  'remove': {method:'DELETE'},
  'delete': {method:'DELETE'} };

Поэтому вы должны рассмотреть возможность использования get вместо query при получении одного значения вместо изменения queryisArray собственность, когда это возможно.

Другие вопросы по тегам