2015-09-01 5 views
0

Nooby Вопрос здесь. У меня есть тестовые данные продаж в формате JSON и вы хотите отображать данные в таблице с помощью Angular JS.Угловой JS REST API GET Не отображать данные

Угловой код.

var SalesDataApp = angular.module("SalesDataApp", []); 

app.factory("services", ['$http', function ($http) { 
var serviceBase = '/api/sales'; 
var obj = {}; 
obj.getCustomers = function() { 
    return $http.get(serviceBase); 
}; 
return obj; 
}]); 
app.controller('SalesDataController', function ($scope, services) { 
services.getCustomers().then(function (data) { 
    alert(JSON.stringify(data)); 
    $scope.customers = data; 
}); 
}); 

Я знаю, Theres лучших способов сделать это, но им просто углубляясь в угловой ... Heres моего HTML ..

<div ng-controller="SalesDataController"> 
<table class="table table-striped" > 
<tr><th>ID</th> 
</tr> 
    <tr ng-repeat="a in salesData"> 
     <td>{{a.Index}}</td> 
    </tr> 

</table> 
</div> 

Ive сделал тест, чтобы увидеть, если угловой работают и то победитель , но код ничего не отображает. Где я буду ошибаться?

Благодаря

+0

Вы когда-нибудь ссылались на «клиентов» в HTML? – tymeJV

+0

@tymeJV да. Ive изменил salesData на клиентов и все еще ни на что :-( –

+0

Можете ли вы опубликовать, что 'console.log ($ scope.customers)' похоже в вашем '.then()' – tymeJV

ответ

1

Я не вижу переменную с именем SalesData в контроллере, вероятно, вы должны передать его в качестве клиентов в HTML.

<div ng-controller="SalesDataController"> 
<table class="table table-striped" > 
<tr><th>ID</th> 
</tr> 
    <tr ng-repeat="a in customers"> 
     <td>{{a.Index}}</td> 
    </tr> 

</table> 
</div> 

Также измените ваше имя приложения

От:

var SalesDataApp = angular.module("SalesDataApp", []); 

To:

var app = angular.module("SalesDataApp", []); 
+0

yeah jsut изменил его и все еще ничего нет –

+0

console.log ($ scope.customers) внутри вашего контроллера – Sajeetharan

+0

Серьезно nooby здесь, на передней панели разработки ... whats console.log? Сожалею. Это мой первый набег на развитие переднего конца, и я немного из глубины здесь. –

0
var app = angular.module("SalesDataApp", []); 

app.factory("services", ['$http', function ($http) { 
    var serviceBase = '/api/sales'; 
    var obj = {}; 
    obj.getCustomers = function() { 
    return $http.get(serviceBase); 
    }; 
    return obj; 
}]); 
app.controller('SalesDataController', function ($scope, services) { 
    services.getCustomers().then(function (data) { 
    console.log(data); //changed 
    $scope.customers = data; 
    }); 
}); 

Я добавил .json в строку serviceBase. Я исхожу из того, что у вас есть файл sales.json в правильном месте относительно этого приложения. Теперь вы должны увидеть данные в консоли. В зависимости от того, как он форматируется в файле JSON, он также может быть в пользовательском интерфейсе. Если это не так, вам нужно правильно установить $ scope.customers, используя структуру данных, отображаемую в консоли.

+0

sales.json файл? Его API, так зачем ему нужен json-файл? извините за глупый вопрос, но я думал, что API передал данные динамически. Я пишу это с помощью Knockout и не нуждаюсь в json-файле здесь, поэтому не могли бы вы объяснить? –

+0

Я сделал предположение, что это локальный файл. Если это услуга, вам хорошо идти. – Zygorf

+0

Это так расстраивает !!!! У меня нет консольного журнала, никаких ошибок и не обрабатываются мои данные !!! Я действительно этого не понимаю. На IIS Express это отлично работало с Knockout, но теперь, с Angular, он не работает или ничего не делает! Как это может быть? –

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