У меня есть приложение, которое запрашивает pokeapi.
Я использую AngularJS ngResource на заводе, чтобы попасть в конечную точку, а в моем контроллере он запрашивает данные, а представление заполняется. Единственное, что я не могу сделать, это зарегистрировать фактический возвращаемый объект, чтобы я мог разобрать его в консоли.
контроллер
app.controller('pokedexCtrl', function($scope, $http, $timeout, searchCharacter) {
$scope.search = function() {
// get pokemon details
var filteredSearch = $scope.searchCharacter.toLowerCase().replace(/\s+/g, '');
$scope.characters = [searchCharacter.get({
value: $scope.searchCharacter
}, function() {
console.log('character retrieved' + $scope.characters);
},
function(response) {
if (response.status === 404) {
alert('we are sorry but we could not find what you are looking for')
}
}
)];
};
});
завод
app.factory('searchCharacter', function($resource) {
return $resource('http://pokeapi.co/api/v1/pokemon/:value', {
value: '@searchCharacter'
}, {
'query': {
method: 'GET',
isArray: true
}
});
});
Единственное, что я могу вернуть на консоль: >character retrieved [object Object]
Как получить дерево объектов в консоли? Изображение того, о чем я говорю
Пересмотренный контроллер
app.controller('pokedexCtrl', function($scope, searchCharacter){
$scope.search = function(){
// get pokemon details
var filteredSearch = $scope.searchCharacter.toLowerCase().replace(/\s+/g,'');
$scope.characters = [searchCharacter.get({
value : filteredSearch
}, function(){},
function(response){
if(response.status === 404){
alert('we are sorry but we could not find what you are looking for')
}
}
)];
var pokemonObject = searchCharacter.get({value: filteredSearch}, function(value, responseHeader) {
console.log('Pokemon Object: ', pokemonObject);
});
};
});
ваш консольный журнал не возвращает объект, потому что вы разбираете его как строку с символом +
console.log('character retrieved' + $scope.characters);
Если вы хотите вернуть объект, вам нужно разделить запятую
console.log('character retrieved', $scope.characters);
console.log('character retrieved', $scope.characters)
является правильным синтаксисом для консоли.