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

Kendo Grid CRUD操作无法在服务端持久化,Postman测试接口正常

问题排查与修复方案

以下是你当前代码与后端接口规则不匹配的所有问题,逐一修改即可解决:

  • 第一,你开启了batch: true批量提交模式,Kendo会将多条操作打包为数组发送到后端,而你Postman测试的是单条请求接口,后端未适配批量格式会无法解析参数,先关闭批量模式:将batch: true改为batch: false
  • 第二,DELETE请求未按后端要求将ID拼接在URL后缀,需要把destroy的url改为动态函数,拼接选中行的idvatc值
  • 第三,PUT/POST请求默认发送表单编码格式数据,你后端要求接收JSON格式参数,需要添加contentType: "application/json"配置,同时通过parameterMap将请求参数序列化为JSON字符串
  • 第四,检查字段名是否匹配:你代码中字段定义为commen,如果后端实际接收的字段名是comment需要同步修正,否则会出现参数为空的情况

修改后的DataSource完整代码如下:

var commentDataSource = new kendo.data.DataSource({
    //autoSync : true,
    transport: {
        read:{
            url: "http://localhost:3000/api/comment",
            dataType: "json",
            type: "get"
        },
        update: {
            url: "http://localhost:3000/api/comment",
            dataType: "json",
            type: "put",
            contentType: "application/json"
        },
        create: {
            url: "http://localhost:3000/api/comment",
            dataType: "json",
            type: "post",
            contentType: "application/json"
        },
        destroy: {
            // 动态拼接ID到URL
            url: function(data) {
                return "http://localhost:3000/api/comment/" + data.idvatc;
            },
            dataType: "json",
            type: "delete"
        },
        // 序列化请求参数为JSON格式
        parameterMap: function(options, operation) {
            if (operation !== "read" && options.models) {
                return kendo.stringify(options.models[0]);
            } else if (operation !== "read") {
                return kendo.stringify(options);
            }
        }
    },
    schema:{
        type: "json",
        model:{
            id: "idvatc",
            fields:{
                idvatc: { type: "number", editable : false},
                commen: { nullable: true}, // 此处确认与后端字段名一致,如拼写错误请修正
            }   
        }
    },
    batch: false, // 关闭批量提交
})

修改后重新测试即可解决全部异常:

  1. create请求会正常发送JSON格式的字段值,不会再发null
  2. delete请求会自动拼接ID到URL,不会再返回404
  3. put请求会发送完整的JSON格式编辑后的数据,不会清空字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 03:39:02