Angularjs json数据不在ng网格中显示在angular js中?

Angularjs json数据不在ng网格中显示在angular js中?,angularjs,json,angular,ejb,Angularjs,Json,Angular,Ejb,我正在做一个基于EJB、AngularJS、RESTfulWeb服务和JPA的项目 我已经创建了一个web服务,它将以JSON格式从数据库返回数据到客户端 在客户端,我想在nggrid中显示这个JSON数据,但数据没有显示出来 下面是我的代码: JS代码 dashboard.controller('MainController', function($scope, $http) { $http.get('http://localhost:8080/WebApplication2/rest

我正在做一个基于EJB、AngularJS、RESTfulWeb服务和JPA的项目

我已经创建了一个web服务,它将以JSON格式从数据库返回数据到客户端

在客户端,我想在
nggrid
中显示这个JSON数据,但数据没有显示出来

下面是我的代码:

JS代码

dashboard.controller('MainController', function($scope, $http) {
    $http.get('http://localhost:8080/WebApplication2/rest/testentity').
    success(function(data) {
        $scope.mydata = data;
        console.log("data response : " + $scope.mydata);
    });
    $scope.gridOptions = {
        data: $scope.mydata,
        enableRowSelection: false,
        enableCellEditOnFocus: true,
        multiSelect: false,
        columnDefs: [{
                field: 'id',
                displayName: 'id',
                enableCellEdit: false
            },
            {
                field: 'testname',
                displayName: 'testname',
                enableCellEdit: false
            },
            {
                field: '',
                displayName: 'Save',
                enableCellEdit: false,
                cellTemplate: '<button id="editBtn" type="button"  ng-click="saveItem(row.entity.testname)" >Save</button>'
            }
        ]
    };
});
请建议我的代码有什么问题。

尝试

$scope.mydata = data.data;

对象可能位于对象内部这可能是这样的情况,即ng网格在范围内的数据实际可用之前被初始化,即在服务中的
$scope.data
中。如果是这种情况,您必须在服务成功返回后写入初始化。请尝试以下两个选项。 1st:您可以在
$http
成功块中写入“$scope.gridOptions”初始化。 示例代码可以是:

$http.get('http://localhost:8080/WebApplication2/rest/testentity').
success(function(data) {
    $scope.mydata = data;
    console.log("data response : " + $scope.mydata);
    initializeGridOptions();
});
var initializeGridOptions = function(){
     $scope.gridOptions = {
       data: $scope.mydata,
       .....,
       .....
     };

};
2nd:您可以在
$timeout

$timeout(function(){
    $scope.gridOptions = {
       data: $scope.mydata,
       .....,
       .....
     };

}, 200);

$timeout
服务将在这里等待一段时间(200ms),然后再执行代码,因此我们可以期望服务在此之前返回数据。(如果需要,您可以进一步增加时间。)

是否可以添加并检查此$scope.mydata=data.data;log($scope.mydata)@Manikandan data.data未定义$scope.mydata=data;log($scope.mydata);这是你得到的吗?[object object],[object object]你必须用你的代码做一个plunkr。这里使用这个plukr并用您的代码更新它:updated
$timeout(function(){
    $scope.gridOptions = {
       data: $scope.mydata,
       .....,
       .....
     };

}, 200);