Kendo 请求开始时数据源更改读取 url

Kendo datasource change read url on request start

我目前这样做是为了在我的 kendo 数据源上动态更改读取 url。数据源用于 kendo 自动完成文本框,对于键入的每个键,建议列表都是通过获取请求获取的。

  requestStart: function (e) {
                    var text = $('#txtMail').val();
                        e.sender.transport.options.read.url = "/Feed/AutoCompleteUser?text=" + text + "&limit=10";
                    }

这第一次工作正常,但后续请求与第一次请求完全相同,它从未命中这段代码。我错过了什么?

请指教

您可以只为您的读取请求添加一个数据参数,就像这样,在这种情况下,当请求作为 get 发送时,它会将查询附加到您的数据对象中的字段。

添加这样的函数,每次请求都会被调用。

function getRequestParameters() {
    return {
        text: $('#txtMail').val(),
        limit: 10
    };
}

var dataSource = new kendo.data.DataSource({
    transport: {
        read: {
            url: "http://demos.telerik.com/kendo-ui/service/products",
            data: getRequestParameters,
            dataType: "jsonp"
        }
    }
});

您可以找到有关配置数据源操作的更多信息here