Angularjs json数据不在ng网格中显示在angular js中?
我正在做一个基于EJB、AngularJS、RESTfulWeb服务和JPA的项目 我已经创建了一个web服务,它将以JSON格式从数据库返回数据到客户端 在客户端,我想在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
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);