Javascript 如何获取KendoDataSource的部分JSON
我需要从外部服务器填写一个KendoListView,并且只需要使用我正在读取的Java Servlet响应的一部分Javascript 如何获取KendoDataSource的部分JSON,javascript,jquery,kendo-ui,kendo-datasource,Javascript,Jquery,Kendo Ui,Kendo Datasource,我需要从外部服务器填写一个KendoListView,并且只需要使用我正在读取的Java Servlet响应的一部分 var srcListView = new kendo.data.DataSource({ transport: { read: { dataType: "json", url: "MainServlet", data:{e
var srcListView = new kendo.data.DataSource({
transport: {
read: {
dataType: "json",
url: "MainServlet",
data:{event:"Test"},
},
},
});
答复是:
{
"status": "ok",
"response": {
"trucks": [
"A6U-905",
"AHF-888",
"AHP-779",
"buzz"
]
}
}
我只需要卡车数组对于kendoListView,我正在使用Kendo ui,我如何才能做到这一点?用于过滤小部件中要使用的数据:
new kendo.data.DataSource({
transport: {
read: {
dataType: "json",
url: "MainServlet",
data:{event:"Test"},
}
},
schema: {
parse: function(data) {
return (data && data.trucks ? data.trucks : []);
}
}
});
用于筛选要在小部件中使用的数据:
new kendo.data.DataSource({
transport: {
read: {
dataType: "json",
url: "MainServlet",
data:{event:"Test"},
}
},
schema: {
parse: function(data) {
return (data && data.trucks ? data.trucks : []);
}
}
});
作为关于使用的另一种选择,对于这样的情况,您可以使用更简单的解决方案,您不需要处理结果,只需返回元素中的内容。此解决方案定义为包含数据的字段的名称。在您的示例中:
new kendo.data.DataSource({
transport: {
read: {
dataType: "json",
url: "MainServlet",
data:{event:"Test"},
}
},
schema: {
data: "response.trucks"
}
});
我建议在需要对接收到的数据进行一些转换时使用schema.parse
,在只返回接收到的JSON的某些子元素时使用schema.data
。作为关于使用的替代方法,您可以在不需要处理结果但只需返回元素中的内容。此解决方案定义为包含数据的字段的名称。在您的示例中:
new kendo.data.DataSource({
transport: {
read: {
dataType: "json",
url: "MainServlet",
data:{event:"Test"},
}
},
schema: {
data: "response.trucks"
}
});
我建议在需要对接收到的数据进行一些转换时使用
schema.parse
,而在返回接收到的JSON的一些子元素时使用schema.data
。谢谢回答,我几乎纠正了,只是我做了这件事,并且工作了。。模式:{parse:function(data){return(data&&data.response.trucks?data.response.trucks:[]);},@DavidDominguez很棒!!@DavidDominguez查看OnaBai的答案。感谢答案,我几乎纠正了我刚刚做的事情和工作..模式:{parse:function(data){return(data&&data.response.trucks?data.response.trucks:[]);},@DavidDominguez很棒!!@DavidDominguez看看OnaBai的答案。我忘记了那种方式,它好多了。我忘了那种方式,它好多了。