使用kendo.data.datasource从远程源读取数据时,如何检查特定数据

使用kendo.data.datasource从远程源读取数据时,如何检查特定数据,第1张

我正在使用Telerik Platform构建混合新闻应用。我正在远程提取数据并且我已经正常工作,但现在我需要检查以查看特色故事并将它们移动到变量中。我有这样的数据:

viewModel = new kendo.observable({
            newsItems: new kendo.data.DataSource({
                transport: {
                    read: {
                        url: serviceURL,
                        dataType: "jsonp"
                    }
                },
                schema: {
                    data: "posts"
                }
            }) 
});

当json被拉出时,我在console.log(viewModel):

时看起来像这样
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

我想做的是检查每篇文章,看看它是否是特色帖子(即值为1)并将其移动到var featured = []的数组中。 我在telerik文档中找不到任何内容,并且我已经尝试将成功:function(){}放入对dataSource的调用中,但这也不起作用。提前谢谢。

最佳答案:

1 个答案:

答案 0 :(得分:1)

您应该能够访问数据源中的json数据。我正在使用requestEnd事件。一旦你知道一篇文章的特色,你就没有准确解释你对数据做了什么,所以我只是展示了一种基本的方法来获取数据并在数据之后使用它#39 ; s。检索。

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
                    }
                }
        }) 
});
本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复