使用 kendo.data.datasource 从远程源读取数据时如何检查特定数据
How do I check specific data when reading in data from a remote source with kendo.data.datasource
我正在使用 Telerik 平台构建混合新闻应用程序。我正在远程提取数据并且一切正常,但现在我需要检查以查看特色故事并将它们移到一个变量中。我有这样的数据:
viewModel = new kendo.observable({
newsItems: new kendo.data.DataSource({
transport: {
read: {
url: serviceURL,
dataType: "jsonp"
}
},
schema: {
data: "posts"
}
})
});
当我 console.log(viewModel):
拉 json 时它看起来像这样
ht.exend.init
_aggregate:
_changeHandler:
_data: ht.extend.init[25]
0: ht.extend.init //Each article
article_date: "June 09, 2015"
author: "James Dean"
categories: ht.extend.init[1]
0: ht.extend.init
id: 1
title: "OC"
length: 1
content: "<p>Content</p>"
custom_fields: ht.extend.init
Views:
featured_post: ht.extend.init[1]
0: "0" //0 if not featured, 1 if featured
length: 1
parent: function (){return i}
date: "2015-06-09"
.
.
.
url: "url"
1: ht.extend.init
2: ht.extend.init
.
.
.
25: ht.extend.init
_destroyed: Array[0]
.
.
.
transport: ft.extend.init
我想要做的是让它检查每篇文章以查看它是否是一篇精选文章 post(即值为 1)并将其移动到 var featured = [] 的数组中。
我在 telerik 文档中找不到任何内容,并且我尝试将 success: function () {} 放在数据源的调用中,但这也不起作用。提前谢谢你。
您应该能够访问数据源中的 json 数据。我正在使用 requestEnd 事件。一旦您知道某篇文章是特色文章,您就没有准确解释您要对数据做什么,所以我只是展示一种获取数据并在检索到数据后使用它的基本方法。
viewModel = new kendo.observable({
newsItems: new kendo.data.DataSource({
transport: {
read: {
url: serviceURL,
dataType: "jsonp"
}
},
schema: {
data: "posts"
},
requestEnd: function (e) {
var response = e.response;
var type = e.type;
var obj = JSON.parse(response);
//now use obj to access your json data
//The if statement is just an example, you will need to
//change it to fit your data model
if ( obj.featured_post == 1 ) {
//do something
}
}
})
});
我正在使用 Telerik 平台构建混合新闻应用程序。我正在远程提取数据并且一切正常,但现在我需要检查以查看特色故事并将它们移到一个变量中。我有这样的数据:
viewModel = new kendo.observable({
newsItems: new kendo.data.DataSource({
transport: {
read: {
url: serviceURL,
dataType: "jsonp"
}
},
schema: {
data: "posts"
}
})
});
当我 console.log(viewModel):
拉 json 时它看起来像这样ht.exend.init
_aggregate:
_changeHandler:
_data: ht.extend.init[25]
0: ht.extend.init //Each article
article_date: "June 09, 2015"
author: "James Dean"
categories: ht.extend.init[1]
0: ht.extend.init
id: 1
title: "OC"
length: 1
content: "<p>Content</p>"
custom_fields: ht.extend.init
Views:
featured_post: ht.extend.init[1]
0: "0" //0 if not featured, 1 if featured
length: 1
parent: function (){return i}
date: "2015-06-09"
.
.
.
url: "url"
1: ht.extend.init
2: ht.extend.init
.
.
.
25: ht.extend.init
_destroyed: Array[0]
.
.
.
transport: ft.extend.init
我想要做的是让它检查每篇文章以查看它是否是一篇精选文章 post(即值为 1)并将其移动到 var featured = [] 的数组中。 我在 telerik 文档中找不到任何内容,并且我尝试将 success: function () {} 放在数据源的调用中,但这也不起作用。提前谢谢你。
您应该能够访问数据源中的 json 数据。我正在使用 requestEnd 事件。一旦您知道某篇文章是特色文章,您就没有准确解释您要对数据做什么,所以我只是展示一种获取数据并在检索到数据后使用它的基本方法。
viewModel = new kendo.observable({
newsItems: new kendo.data.DataSource({
transport: {
read: {
url: serviceURL,
dataType: "jsonp"
}
},
schema: {
data: "posts"
},
requestEnd: function (e) {
var response = e.response;
var type = e.type;
var obj = JSON.parse(response);
//now use obj to access your json data
//The if statement is just an example, you will need to
//change it to fit your data model
if ( obj.featured_post == 1 ) {
//do something
}
}
})
});