Kendo ui Kendo UI-数据源在使用fetch()时起作用,但在使用read()时不起作用

Kendo ui Kendo UI-数据源在使用fetch()时起作用,但在使用read()时不起作用,kendo-ui,Kendo Ui,我有一个Kendo UI数据源,当我使用fetch()时,它可以工作,但当我使用与read()完全相同的配置时,它会失败。这是一个问题,因为我需要多次检索数据,而使用fetch()无法做到这一点 这是数据源代码- var FieldsDataSource = new kendo.data.DataSource({ transport: { read: { url: "../WebServiceAddress",

我有一个Kendo UI数据源,当我使用fetch()时,它可以工作,但当我使用与read()完全相同的配置时,它会失败。这是一个问题,因为我需要多次检索数据,而使用fetch()无法做到这一点

这是数据源代码-

       var FieldsDataSource = new kendo.data.DataSource({
        transport:  {
        read: {
            url: "../WebServiceAddress",
            dataType: "json",
            type: "POST",
            contentType: 'application/json; charset=utf-8',
            cache: false
        },                  
        parameterMap: function() {
            return   "{some mapping that has been confirmed to work}";
        },
        schema: {
            data: function (data) {
                if (data && data.d) {
                    //execution gets to here and stops
                    return data.d;          
                }
                else {
                    return [];
                }
            },
        }  

    });
下面是调用DataSource.read()函数的代码-

     function loadFields() {
        FieldsDataSource.read(function() {
            var data = this.data();
            if (data.length > 0) {

                for (var i = 0; i < data.length; i++) {
                    var dataitem = data[i].Key;
                    $("#" + dataitem + "_field").prop("checked", data[i].Value);
                }
            }
        });
    }
函数加载字段(){
FieldsDataSource.read(函数(){
var data=this.data();
如果(data.length>0){
对于(变量i=0;i
如果我将
FieldsDataSource.read(function()
更改为
FieldsDataSource.fetch(function()
所有操作都正常,但这没有意义,因为我的权限是read和fetch做相同的事情,不同的是fetch只获取一次数据

我所知道的是,数据是从服务器返回的,我可以在fiddler中看到它,但执行会在模式部分停止,我在代码示例中标记了它


抱歉,如果我问了一个非常明显的问题,但我对剑道很陌生。

看看剑道演示网站,这篇文章解释了如何很好地阅读。我认为只需要字符串值。配置你的,然后调用read(),你的数据源。数据收集将被填充,然后你就可以使用它了

还要注意,datasource.read()是异步的,在填充之前,应该从datasource的完整事件调用Fields方法,而不是从其他方式调用。例如,填充时可能并没有数据

transport:  {
        read: {
            url: "../WebServiceAddress",
            dataType: "json",
            type: "POST",
            contentType: 'application/json; charset=utf-8',
            cache: false,
            complete : function () {    }
        },