2016-10-21 3 views
1

Что-то не так, когда я пытаюсь получить json-файл с данными в свой ng-repeat.Ошибка AngularJS при загрузке json-файла

Как-то на консоли отображается 'All drinks loaded!', которая является информацией об успешном завершении, но она не отображается в DOM.

Кроме того, я получаю сообщение об ошибке: angular.min.js:118 TypeError: $http.get(...).success(...).errors is not a function

Если кто-нибудь знает, что может вызывает эту ошибку, пожалуйста, сообщите мне. Спасибо за помощь.

var app = angular.module('app', []); 
 

 
app.controller('MainController', ['$scope', '$http', '$log', 
 
    function($scope, $http, $log) { 
 

 
    $scope.drinks = []; 
 

 
    $http.get('drinks.json') 
 
     .success(function(data, status, headers, config) { 
 

 
     $scope.drinks = data; 
 
     $log.info('All drinks loaded!'); 
 

 
     }).errors(function(data, status, headers, config) { 
 

 
     $log.error('Error' + status + 'unable to download drinks list.'); 
 

 
     }); 
 
    } 
 
]); 
 

 
//drinks.json 
 
//[ 
 
//{ 
 
//"name": "Pepsi 1l", 
 
//"price": 2.99 
 
//}, 
 
//{ 
 
//"name": "Orange juice 0.5l", 
 
//"price": 1.40 
 
//}, 
 
//{ 
 
//"name": "Lemon tea 2l", 
 
//"price": 3.20 
 
//}, 
 
//{ 
 
//"name": "Cola-Cola 0.33l", 
 
//"price": 0.89 
 
//} 
 
//]
<div class="container"> 
 

 
    <div class="content" ng-controller="MainController"> 
 

 
    <div class="col-md-6"> 
 

 
    </div> 
 

 

 

 
    <div class="col-md-6"> 
 
     <ul class="list-group"> 
 
     <li class="list-group-item" ng-repeat="(id, product) in drinks"> 
 
      <strong>{{ product.name }}</strong> - {{ product.price | currency }} 
 
      <button ng-click="removeFromCart(id)" class="btn btn-xs btn-danger pull-right">X</button> 
 
     </li> 
 
     </ul> 
 
    </div> 
 

 

 
    </div> 
 

 
</div>

+1

Его '.error()' не '. errors() ' –

+0

ошибки разбивают ваш стек так, чтобы он не отслеживал, что smth изменился – Vitalii

+0

@ JaqenH'ghar Спасибо ой мой друг! Сделайте ответ, я буду принимать его как лучший ответ. – Patrickkx

ответ

1

Его .error() не .errors()

$http.get('url') 
    .success(function(data, status, headers, config) { 
     // do something 
    }).error(function(data, status, headers, config) { 
     // do something 
    }); 

Изменить это исправить ошибку JS и ваша страница будет работать нормально

+0

Спасибо, братан. Еще раз. – Patrickkx

Смежные вопросы