2016-09-21 6 views
0

서버 데이터로 테이블을 초기화하려고했습니다. 그러나 테이블에 데이터를로드하지는 않습니다.ng 서버 데이터가있는 테이블

그러나 콘솔에서 ajax 호출이 성공적이라는 것을 알 수 있습니다. 아약스 호출 후 데이터가없는 여러 테이블 행 행을 참조하십시오.

어떤 아이디어 내가 잘못 했습니까?

<script> 
var tableAp = angular.module('tableApp', ["ngTable"]); 
tableAp.controller('testTable', function($scope, $http, NgTableParams) {  
    $scope.tableParams = new NgTableParams({}, { 
     getData: function(params) { 
      $http.get('http://localhost/data.php') 
       .success(function(data) { 
        console.log(data); 
        params.total(data.inlineCount); 
        return data; 
        //console.log(data); 

       }); 
     } 
    }); 
}); 
</script> 

HTML

<body ng-app="tableApp"> 
<div ng-controller="testTable"> 
<table ng-table="tableParams" class="table" show-filter="true"> 
    <tr ng-repeat="user in $data"> 
     <td> 
      {{user.name}}</td> 
     <td> 
      {{user.age}}</td> 
    </tr> 

</div> 
</body> 
+0

을 추가하여 HTML을 업데이트 스크립트 또한

<script> var tableAp = angular.module('tableApp', ["ngTable"]); tableAp.controller('testTable', function($scope, $http, ngTableParams) { $scope.tableParams = new ngTableParams( { page: 1, // show first page count: 10 // count per page }, { getData: function($defer,params) { // --- add $defer $http.get('http://localhost/data.php') .success(function(data) { console.log(data); params.total(data.inlineCount); $defer.resolve(data); // ---- add this }); } }); }); </script> 

업데이트? –

+0

안녕하세요 @ Md.Rahman 이것은 동일한 구조의 예제 데이터입니다. { 'name ":"name ","age ": 1}, {"name ":"name2 ","age ": 2}, {name} :"name3 ","age ": 3} {name} : "name": "name": "name5", "age": 5}, { "name": "name6", "age": 6}, { "name": "name7", "age": 7} , {name ":"name8 ","age ": 8}] 콘솔에서 보았습니다. – rram

답변

0

당신은 당신의 HTML에 ng-repeat="user in $data">를 사용하지만, 당신이 컨트롤러에 $data를 정의 어디 찾을 수 없습니다.

컨트롤러에 NgTableParams 사용자 지정 서비스를 삽입하려고 시도하는 것 같습니다. 이것의 "객체를 생성"할 필요는 없습니다. 그것은 싱글 톤입니다.

+0

나는 이것에 대해서도 의심하고 있습니다. 하지만 설명서에서 컨트롤러의 데이터가 전혀 표시되지 않습니다. [URL] (http://ng-table.com/#/loading/demo-managed-array) – rram

0

이 작업을 시도 할 수 있습니다 : DEMO LINK HERE

ngTableParams 대신 NgTableParams을 사용하십시오. 그리고 여기에 반환 된 JSON 데이터를 제공시겠습니까 닫는 테이블 태그

<body ng-app="tableApp"> 
<div ng-controller="testTable"> 
<table ng-table="tableParams" class="table" show-filter="true"> 
    <tr ng-repeat="user in $data"> 
     <td> 
      {{user.name}}</td> 
     <td> 
      {{user.age}}</td> 
    </tr> 
</table> 
</div> 
</body> 
+0

답변을 제공해 주셔서 감사합니다. 그것은 plunkr에서 잘 작동합니다. 그러나 내 예제에서 $ defer를 시도하면. 'Error : params is undefined'로 에러를 던집니다. – rram

+0

여기에 새 코드를 알려주십시오. –

+0

새로운 ng-table의 getData()에는 더 이상 $ defer가 없으며 getData (params) 만 의심됩니다. –

관련 문제