How to use URLs like '/update/:id' as Kend

2019-07-04 08:09发布

I read the documentation but found nothing related to setting parameters in dataSource urls. Is it possible to achieve that?

Thx in advance.

2条回答
Anthone
2楼-- · 2019-07-04 08:37

Yes, it is possible. The urls defined in the DataSource.transport might be a function. This function receives (for update) as first argument the data being updated (the model) and returns the string that should be used as URL.

Composing the URL for what you want to do is:

var ds = new kendo.data.DataSource({
    transport: {
        read: {
            url: function () {
                return 'read';
            }
        },
        update: {
            url : function (item) {
                return 'update/' + item.id;
            }
        }
    }
});
查看更多
Anthone
3楼-- · 2019-07-04 08:41

Short answer:

Nope.

Long answer:

Parameters are passed either inline with the url parameter of the transport object...

var id = 'abc123';

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

...or they are passed in the data parameter of the transport object.

var id = 'abc123';

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

or

var id = 'abc123';

var ds = new kendo.data.DataSource({
  transport: {
    read: {
      url: 'api/employees',
      data: function () {
        return { id : id };
      }
    }
  }
});
查看更多
登录 后发表回答