You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kendo Grid无法显示,出现栈溢出错误求解决

解决Kendo Grid渲染栈溢出问题

针对你遇到的Uncaught RangeError: Maximum call stack size exceeded错误,以下是排查和解决步骤:

1. 避免重复初始化Grid

每次点击搜索按钮都会调用initializeKendoGrid重新创建Grid,重复绑定事件和初始化组件会导致内部递归调用溢出。修改初始化逻辑,优先更新数据源而非重复创建:

function initializeKendoGrid(data) {
    var grid = $("#grid").data("kendoGrid");
    if (grid) {
        // 若Grid已存在,直接更新数据源
        grid.setDataSource(new kendo.data.DataSource({
            data: data,
            pageSize: 10
        }));
    } else {
        // 首次创建Grid
        $("#grid").kendoGrid({
            dataSource: {
                data: data,
                pageSize: 10
            },
            height: 550,
            groupable: true,
            sortable: true,
            pageable: {
                refresh: true,
                pageSizes: true,
                buttonCount: 5
            },
            columns: [
                { field: "flightNumber", title: "Flight Number" },
                { field: "airlineName", title: "Airline Name" },
                { field: "origin", title: "Origin" },
                { field: "destination", title: "Destination" },
                { field: "date", title: "Date", format: "{0:MM/dd/yyyy}" },
                { field: "departure", title: "Departure" },
                { field: "arrival", title: "Arrival" },
                { field: "price", title: "Price" }
            ]
        });
    }
}

2. 修复JSON数据格式问题

栈溢出常见原因是后端返回的JSON存在循环引用(比如实体类双向关联,如Flight与Airline互相引用),前端解析后形成无限嵌套结构,Kendo Grid处理时触发递归溢出:

  • 后端序列化时添加注解排除循环引用:比如用Jackson的@JsonIgnore标记关联字段,或使用@JsonManagedReference/@JsonBackReference处理双向关联
  • 开启前端AJAX的dataType: 'json'配置,确保jQuery正确解析JSON数据,避免将字符串当作对象处理:
$.ajax({
    url: '/home/search',
    type: 'GET',
    dataType: 'json', // 取消注释该行
    data: {
        origin: origin,
        destination: destination
    },
    // ... 其余代码不变
});

3. 校验数据字段一致性

确认后端返回的JSON字段名与Grid配置的field完全匹配(比如flightNumber是否和后端返回的字段名一致,注意驼峰/下划线命名差异),字段不匹配可能引发内部解析异常。

内容的提问来源于stack exchange,提问作者Hisham Gundagi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 07:26:04