Kendo ui Kendo UI-数据源在使用fetch()时起作用,但在使用read()时不起作用
我有一个Kendo UI数据源,当我使用fetch()时,它可以工作,但当我使用与read()完全相同的配置时,它会失败。这是一个问题,因为我需要多次检索数据,而使用fetch()无法做到这一点 这是数据源代码-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",
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 () { }
},