如何使用' / update /:id'等网址作为KendoUI数据源?

时间:2014-08-28 17:03:22

标签: rest kendo-ui kendo-datasource kendo-mvvm

我阅读了文档,但没有发现与在dataSource网址中设置参数有关。是否有可能实现这一目标?

提前谢谢。

2 个答案:

答案 0 :(得分:11)

是的,有可能。 url中定义的DataSource.transport可能是一个函数。此函数接收(对于update)作为第一个参数的正在更新的数据(模型)并返回应该用作URL的字符串。

为您要执行的操作编写URL:

var ds = new kendo.data.DataSource({
    transport: {
        read: {
            url: function () {
                return 'read';
            }
        },
        update: {
            url : function (item) {
                return 'update/' + item.id;
            }
        }
    }
});

答案 1 :(得分:-1)

简短回答

不。

答案很长

参数与传输对象的url参数内联传递...

var id = 'abc123';

var ds = new kendo.data.DataSource({
  transport: {
    read: {
      url: 'api/employees?id=' + id
    }
  }
});

...或者它们在传输对象的data参数中传递。

var id = 'abc123';

var ds = new kendo.data.DataSource({
  transport: {
    read: {
      url: 'api/employees',
      data: {
        id: id;
      }
    }
  }
});

var id = 'abc123';

var ds = new kendo.data.DataSource({
  transport: {
    read: {
      url: 'api/employees',
      data: function () {
        return { id : id };
      }
    }
  }
});