2016-09-21 46 views
0

我試圖用服務器數據初始化ng表。但它不會加載表中的數據。ng表與服務器數據

但是我能夠看到ajax調用在控制檯中是成功的。 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

能否請你在這裏給返回的JSON數據更新HTML? –

+0

Hi @ Md.Rahman這是具有相同結構的示例數據。 '['name':'name1','age':1},{「name」:「name2」,「age」:2},{「name」:「name3」,「age」:3} ,{ 「名稱」: 「NAME4」, 「年齡」:4},{ 「名稱」: 「NAME5」, 「年齡」:5},{ 「名稱」: 「name6」, 「年齡」: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。 並更新腳本

<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> 

還通過將結束表標記

<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中工作正常。但是,如果我在我的例子中嘗試$延期。它會拋出錯誤,因爲'錯誤:params是未定義的' – rram

+0

你能分享你的新代碼嗎? –

+0

我懷疑在新的ng-table的getData()中沒有更多的$ defer,只有getData(params)。 –