Angularjs TypeError: Невозможно прочитать свойство 'data' из неопределенного

0

Я использую угловую директиву (angucomplete-alt) для создания списка предложений при вводе в поле ta. У меня проблема, что если я сделаю запрос с использованием $ http, как указано ниже, директива подберет данные и отобразит их.

 return $http.get(
            myurl,
            {
                params: {
                    code: strQuery.toUpperCase()
                }
            }
        );

Я уверен, что если я верну данные в обещании, директива просто продолжит давать мне ошибку. Как я могу нормально работать с этой работой, так как кажется, что, хотя я вызываю ту же конечную точку, я получаю разные ответы

 return service.mymethod(strQuery)
            .then(function(data) {

               console.log(data);

        });
  • 0
    поставить код сервиса, иначе мы не сможем понять что он делает
  • 0
    у вас может быть какая-то строка xx.data где xx не undefined .
Показать ещё 2 комментария
Теги:

1 ответ

0

Хотя неясно, чего вы пытаетесь достичь, это один из способов вызова сервиса:

var app = angular.module('myApp', []);
app.controller('myController', function($http) {
  $http.get(myUrl, { params: {  code: strQuery.toUpperCase() }})
  .then(
    function (response, status) { // on success
      console.log(response);
    }, 
    function(error, status){ // on error
      console.log(error);
  });
}); 

$http.get возвращает обещание, которое является шаблоном для обработки асинхронных операций. Обещание выполняется асинхронно и возвращает значения (при успешном выполнении или при ошибке), когда они завершаются обработкой.

  • 0
    спасибо, что вернулись ко мне, ребята. Я использую этот угловой плагин. github.com/ghiden/angucomplete-alt , в него встроен сервис. Я думаю, что он уже возвращает обещание при отправке запроса, поэтому я вижу некоторые ошибки.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню