2

我目前正在这样做以在我的剑道数据源上动态更改读取 url。数据源用于 kendoautocomplete 文本框,并且对于键入的每个键,建议列表通过 get 请求获取。

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

这第一次工作得很好,但随后的请求与第一次请求完全一样,它永远不会遇到这段代码。我错过了什么?

请指教。

4

1 回答 1

3

您可以为您的读取请求添加一个数据参数,就像这样,在这种情况下,由于请求是作为 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"
        }
    }
});

您可以在此处找到有关配置数据源操作的更多信息:

于 2015-12-10T09:26:08.803 回答