如何将$ http.get()数据传递给trNgGrid表

时间:2015-01-28 11:14:57

标签: javascript angularjs html-table

我知道这是一个基本问题,但我无法在任何地方找到任何相关的教程或文档。

我尝试使用以下代码生成trNgGrid表:

<div><button type="submit" ng-click="requestJSON()">X</button></div>

<div ng-controller="SearchController">
    <table tr-ng-grid='' items="data"></table>
</div>

<script type="text/javascript">
app.controller("SearchController", function ($scope, $http) {
    $scope.requestJSON = function () {
        var httpRequest = $http.get(url, {params: parameters})
        .success(function (data, status, headers, config) {
            // Call table render function
            $scope.data = data;
        })
        .error(function (data, status, headers, config) {
        })
    };
});
</script>

$ scope.data返回正常,但表格根本没有显示。 当我将数据复制并传递给$ scope.data时,如下所示:

$scope.data = [{"name": "myName", "age": 50}]

表格应该显示。

请帮忙。

更新:

我在GitHub的trNgGrid论坛上问道,最后得到了解决方案。

问题是我没有在表格中指定列。 当我添加&#34; tr&#34;对于每一列,数据都应该出现在桌子上。所以表格代码应该是这样的:

<table tr-ng-grid='' items="data">
   <tr>
      <th field-name="name"></th>
      <th field-name="age"></th>
   </tr>
</table>

1 个答案:

答案 0 :(得分:0)

您说明了以下内容:

  

$ scope.data返回正常,但表格根本不会显示。 当我将数据复制并发送到$ scope.data时,如此

     

$ scope.data = [{&#34; name&#34;:&#34; myName&#34;,&#34; age&#34;:50}]

     

该表格应该

因此,由于您的手动数据分配方法有效,但您的httpRequest没有,即使它确实返回数据,意味着您的请求返回的数据不是JSON格式,或者导致问题的数据

您能否显示从httpRequest返回的数据?

我在项目中使用trNgGrid并使用$ http.get和普通$ scope.data =数据分配成功显示数据。

既然您声明复制并粘贴数据,那么它可以运行,也许您可​​以尝试:

angular.copy(data, $scope.data)