Почему меня помечает ошибка в filter, когда я делаю этот вызов с Угловым JS?

То, что он перемещает, состоит в том, что я создал один controller чтобы делать призывы к JSON и функционируй с JSON, который я нашел в Интернете, но с тем, который нуждался в том, чтобы использовать это, он вызывает ошибку в filter:

Он этот:

angular.module("liverpoolapp",["ngStorage"])
.controller("primerControlador",function($scope,$http,$localStorage){
    $scope.posts = [];
    $http.get(
        "http://www.liverpool.com.mx/tienda?s=sala&d3106047a194921c01969dfdec083925=json"
    ).success(function(data){
        console.log(data);
        $scope.posts = data;
    }).error(function(err){});
    $scope.grabar = function(){
        $localStorage.busqueda = $scope.busqueda;
    }
});

Код они могут видеть это здесь:

Это проект со ссылкой JSON, которую я нашел в Интернете: http://www.mukizo.com/test/v6/

... и это тот же самый, но со ссылкой, что мне нужно, чтобы оно функционировало: http://www.mukizo.com/test/v7/

В консоли видно, что он вызывает ошибку:

угловое js:13920 Ошибка: [filter:notarray]

Почему происходит это? JSON действительный?

1
задан 12.04.2017, 21:51
2 ответа

То, за чем оно последует, состоит в том, что первое соединение возвращает array объектов в отличие от второго, который только возвращает объект и - из-за этого ошибка notarray.

Помни, что ты заявляешь в $scope.posts поскольку я одну упорядочиваю. Чтобы это оплачивать, не распределяй а сделай один push.

angular.module("liverpoolapp",["ngStorage"])
   .controller("primerControlador",function($scope,$http,$localStorage){
      $scope.posts = [];
      $http.get("http://www.liverpool.com.mx/tienda?s=sala&d3106047a194921c01969dfdec083925=json")
      .success(function(data){
            $scope.posts.push(data);
       })
       .error(function(err){
       });

       $scope.grabar = function(){
       $localStorage.busqueda = $scope.busqueda;
}
1
ответ дан 24.11.2019, 13:21

Я соглашаюсь с ответом CГ©sar GГіmez. Которое я gustarГ, - чтобы помнить тебе serГ, - чтобы использовать ее notaciГіn договоренности для того ее inyecciГіn зависимостей. TГє ты имеешь сейчас:

//Lo demás
angular.module("liverpoolapp",["ngStorage"])
.controller("primerControlador",function($scope,$http,$localStorage){
   //El contenido
});

я рекомендую Тебя:

//Lo demás
angular.module("liverpoolapp",["ngStorage"])
.controller("primerControlador",["$scope", "$http", "$localStorage", function($scope,$http,$localStorage){
//El contenido
}]);

Не sГ©, если ты использовал вид инструмента как Grunt, чтобы делать ты publicaciГіn producciГіn, но без нее notaciГіn договоренности, если ты делаешь одну reducciГіn ( minification ) cГіdigo, у тебя будут проблемы.

типов Привета.

1
ответ дан 24.11.2019, 13:21