1

这是我的代码:

var crudServiceBaseUrl = "/admin",
    dataSource = new kendo.data.DataSource({
        服务器分页:真,
        页面大小:2,
        类型:'json',
        运输: {
            读: {
                网址:crudServiceBaseUrl + '/用户'
            },
            更新: {
                网址:功能(项目){
                    返回 crudServiceBaseUrl + "/user/update/" + item.id
                },
                数据类型:“json”
            },
            破坏: {
                url: crudServiceBaseUrl + "/user/destroy",
                数据类型:“json”
            },
            创造: {
                url: crudServiceBaseUrl + "/user/create",
                数据类型:“json”
            },
            参数映射:函数(选项,操作){
                如果(操作!==“读取”&& options.models){
                    返回 {models: kendo.stringify(options.models)};
                }
            }
        },
        批次:真,
        架构:{
            数据:函数(原始数据){
                返回 rawData[0].data;
            },
            总计:函数(原始数据){
                返回 rawData[1].total;
            }
        }
    });
$("#users").kendoGrid({
    数据源:数据源,
    可导航:真,
    可分页:真,
    可选:“多个”,
    可排序:{
        模式:“单”,
        允许取消排序:假
    },
    身高:430,
    工具栏:[“保存”,“取消”],
    列: [
        { 字段:“id”,标题:“ID”,宽度:20},
        { 字段:“用户名”,标题:“电子邮件”,宽度:110 },
        { 字段:“名字”,标题:“名字”,宽度:110 },
        { 字段:“姓氏”,标题:“姓氏”,宽度:110 },
        { 字段:“已激活”,标题:“已激活”,宽度:110 },
        { 字段:“已禁用”,标题:“已禁用”,宽度:110 },
        { 命令:['edit','destroy'],标题:“”,宽度:90 }
    ],
    可编辑:“弹出”
});

但是当我尝试点击“第二页”时,参数“skip”和“pageSize”没有被传输。我得到这个不带参数的网址“/admin/list”。我做错了什么?

4

1 回答 1

2

我认为您的parameterMap函数需要针对以下情况返回一些内容operation === "read"

        parameterMap: function (options, operation) {
            if (operation !== "read" && options.models) {
                return {models: kendo.stringify(options.models)};
            }
            return options; // <-- added this line
        }
于 2013-09-10T17:01:34.267 回答