未捕获的TypeError:无法读取未定义的属性'loadDataToGrid'

时间:2014-04-29 06:30:24

标签: javascript jquery json jqgrid angularjs-factory

我有一个代码用于加载从服务器端传递到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直接加载我的数据时,它工作正常。

有人请指出我哪里出错了。

0 个答案:

没有答案