2016-09-17 1 views
2

Я использую Angular Js с ajax, но с помощью ng-repeat не может получить выход из json-массива. При получении предупреждения об объекте объекта ... так далее, но используя $scope.names= response[0].id;, получая идентификатор «1» в режиме предупреждения. Мне нужно получить все данные в таблице. Есть ли способ получить все данные в таблице, а также я не использую $http в контроллере, потому что он не работает в мобильном браузере, но работает на рабочем столе, я не знаю почему? Пожалуйста, помогите!Угловой Js ng-repeat не может получить выход из массива json с использованием ajax

JS

var app = angular.module('studentApp',[]); 
app.controller('StudentCntrl', function($scope){ 

$.ajax({ 
    url : '/fetchAllData', 
    type : 'GET', 
    success : function(response){ 
     $scope.names=response; 
     //alert($scope.names);(This is working) 
      } 
    }); 
}); 

JSP

<div ng-app="studentApp" ng-controller="StudentCntrl"> 

     <div class="table-responsive"> 
     <table class="table table-striped"> 
      <thead> 
      <tr> 
       <th>ID</th> 
       <th>NAME</th> 
       <th>EMAIL</th> 
      </tr> 
      </thead> 
      <tbody> 
      <tr ng-repeat="x in names"> 
       <td>{{x.id}}</td> 
       <td>{{x.name}}</td> 
       <td>{{x.email}}</td> 

      </tr> 
      </tbody> 
     </table> 
     </div> 

Json

[{"id":"1","name":"abdul","email":"[email protected]"},{"id":"2","name":"pratyush","email":"[email protected]"},{"id":"3","name":"ankit","email":"[email protected]"},{"id":"45","name":"kjhj","email":"kjhkj"},{"id":null,"name":null,"email":null},{"id":null,"name":null,"email":null},{"id":null,"name":null,"email":null},{"id":"trffs","name":null,"email":null},{"id":"afa","name":"sdgfdsg","email":"dsagdsg"},{"id":"12","name":"pppp","email":"hjk,gh"}] 
+1

Не использовать jQuery, вставлять '$ http' – scniro

+0

Я пробовал это сначала, но не работал в мобильном браузере. –

+0

Какая угловая версия, тип и версия браузера? Как упоминалось другими, он должен работать на мобильных устройствах, если правильно использовать HTTP. – codemax

ответ

1

При обновлении сферы с вызовом $ АЯКС (вы должны использовать $ HTTP), вы должны использовать $ объем применяются для обновления привязок.

$scope.$apply(function(){ 
    $scope.names = response.data; 
}); 
+0

Можете ли вы объяснить на примере? –

+1

Я построил вам небольшой пример с jQuery и $ scope. $ Apply в функции .done. Я предпочитаю использовать .done и .fail, поскольку это использует возвращенный объект обещания. http://codepen.io/robbert/pen/rrLQgq/ –

+0

Спасибо, что он работает как на настольном, так и на мобильном браузере. !! :-) –

1

Вместо AJA х вызова, используйте $http с угловой ниже

var app = angular.module('studentApp', []); 
app.controller('StudentCntrl', function($scope,$http) { 
    $http.get('data.json').then(function (response){ 
        console.log(response.data.pages); 
       $scope.names = response.data; 
     }); 
}); 

Вот рабочая DEMO

+0

Я пробовал это во-первых, он не работал в мобильном браузере, была некоторая проблема в конфигурации весны, поэтому я пытался этот метод. –

+0

, если вы используете угловой, это способ, и он также должен работать с мобильным телефоном. – Sajeetharan

+0

На самом деле, я проверяю свой проект на мобильном браузере, используя свою систему ip, является ли это причиной того, что он не работает на мобильных устройствах? Как 198.0.X.X: 8080/home –

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