我有一个代码用于加载从服务器端传递到jQGrid的数据。我使用AngularJS工厂方法启动调用并返回收到的json文档。我在Chrome控制台中收到Uncaught TypeError: Cannot read property 'loadDataToGrid' of undefined
错误。
将数据加载到jQGrid的JQuery函数: -
$(function ($scope,$http,$rootScope,retriveDataFromServer) {
$("#list").jqGrid({
url: retriveDataFromServer.loadDataToGrid($http),
datatype: "json",
mtype: "GET",
colNames: ["Employee First Name", "Employee Last Name", "Contact No"],
colModel: [
{ name: "fname", width: 55 },
{ name: "lname", width: 60 },
{ name: "contactNo", width: 55, align: "right" },
],
pager: "#pager",
rowNum: 10,
autowidth: true,
rowList: [10, 20, 30],
sortname: "fname",
sortorder: "desc",
viewrecords: true,
gridview: true,
autoencode: true,
caption: "Employee Data Grid"
});
});
AngulaJS工厂方法: -
empApp.factory('retriveDataFromServer',function(){
return{
loadDataToGrid: function($http){
return $http({
method : 'GET',
url : 'http://localhost:8080/IdeaOne/viewall'
}).then(function(response){
return response;
})
}
}
});
html: -
<div ng-app="empApp">
<table id="list"><tr><td></td></tr></table>
<div id="pager"></div>
</div>
当我通过在jQuery方法中指定我的url直接加载我的数据时,它工作正常。
有人请指出我哪里出错了。