关于easyui中的datagrid在加载数据时候报错:无法获取属性"Length"的值,对象为null或未定义解决办法

关于easyui中的datagrid在加载数据时候报错:无法获取属性"Length"的值,对象为null或未定义
本帖最后由 somezy 于 2015-01-31 22:12:20 编辑
求救各位大侠,今天在使用easyui的datagrid控件加载数据的过程报错如下:
Microsoft JScript 运行时错误: 无法获取属性“length”的值: 对象为 null 或未定义
关于easyui中的datagrid在加载数据时候报错:无法获取属性"Length"的值,对象为null或未定义解决办法

我在js中生成的datagrid代码如下:
function createDatagrid() {
    $('#divcasebox').datagrid({
        height: 400,
        url: 'url',
        method: 'POST',
        queryParams: { id: 'INSTANCE_ID' },
        idField: '办文号',
        striped: true,
        resizeHandle: 'both',
        fitColumns: false,
        autoRowHeight: true,
        singleSelect: false,
        rownumbers: true,
        pagination: true,
        nowrap: false,
        checkOnSelect: true,
        selectOnCheck: true,
        pageSize: 10,
        pageList: [10, 20, 50, 100, 150, 200],
        showHeader: true,
        showFooter: true,
        scrollbarSize: 18,
        sortOrder: 'asc',
        multiSort: true,
        columns: [[
        { field: 'INSTANCE_ID', title: '办文号', width: 150, halign: 'center', align: 'left' },
        { field: 'BUSINESS_NAME', title: '业务名称', width: 200, halign: 'center', align: 'left' },
        { field: 'INSTANCE_STATUS', title: '办文节点状态', width: 200, halign: 'center', align: 'left' },
        { field: 'JBR', title: '经办人', width: 150, halign: 'center', align: 'left' },
        { field: 'DO_DATE', title: '经办日期', width: 150, halign: 'center', align: 'left' },
        { field: 'EXPIRE_DATE', title: '过期日期', width: 150, halign: 'center', align: 'left' },
        { field: 'CREATOR', title: '创建人', width: 150, halign: 'center', align: 'left' },
        { field: 'CREATE_DATE', title: '创建日期', width: 150, halign: 'center', align: 'left' },
        { field: 'DELETOR', title: '删除人', width: 150, halign: 'center', align: 'left' },
        { field: 'DELETE_DATE', title: '删除日期', width: 150, halign: 'center', align: 'left' },
        { field: 'CURRENTDO_USER_ID', title: '当前经办用户编号', width: 150, halign: 'center', align: 'left' },
        { field: 'EXCHANGE_ID', title: '业务当前流转编号', width: 150, halign: 'center', align: 'left',
            editor: {
                type: 'numberbox',
                options: {
                    min: 0,
                    precision: 0
                }
            }
        }
    ]],
        onBeforeLoad: function (param) {
        },
        onLoadSuccess: function (data) {

        },
        onLoadError: function () {

        },
        onClickCell: function (rowIndex, field, value) {

        }
    });
}


我的js函数如下:
function CaseBoxLoadData() {
    $.ajax({
        type: "Post",
        url: "GXOAServer.asmx/TodoBoxLoadData",
        //async: false, //true:异步,false:同步 
        data: { },
        //contentType: false,
        //processData: false,
        success: function (data) {
            $("#divcasebox").datagrid("loadData",eval(data));
            alert(data.text);
        },
        error: function (err) {
            alert("error");
        }
    });
}


而我在js函数中获取到的json字符串如下:
{"total":2,"rows":[{"INSTANCE_ID":"BI00000011","BUSINESS_NAME":"专项检查文档资料报送","INSTANCE_STATUS":"hello正在办文处理中","JBR":"hello","DO_DATE":"2015/1/31 20:15:36","EXPIRE_DATE":"2015/2/1 20:15:36","CREATOR":"hello","CREATE_DATE":"2015/1/31 20:15:36","DELETOR":"","DELETE_DATE":"","CURRENTDO_USER_ID":"UE000235","EXCHANGE_ID":"BI00000033"},{"INSTANCE_ID":"BI00000012","BUSINESS_NAME":"专项检查文档资料报送","INSTANCE_STATUS":"hello正在办文处理中","JBR":"hello","DO_DATE":"2015/1/31 20:59:59","EXPIRE_DATE":"2015/2/1 20:59:59","CREATOR":"hello","CREATE_DATE":"2015/1/31 20:59:59","DELETOR":"","DELETE_DATE":"","CURRENTDO_USER_ID":"UE000235","EXCHANGE_ID":"BI00000034"}]}

我在网上找了好久,网上也有出现我的这种情况,但是按照他们的做法,还是没能解决我的问题,依然在报同样的错误,希望各位大侠能够帮我解决这个问题,小弟不胜感激。
------解决思路----------------------
我只是把url去掉了,因为我那没有那个路径
------解决思路----------------------
设置断点,调试你的 eval(data)) 是什么值。或者在你的 http 调试器上查看服务器返回值。

另外,引用外部 js 文件时,尽量使用未混淆、未压缩的 js 文件。你如果一点都不看人家的源代码,怎么能调试好自己的程序呢?