我有一个来自WebApi的数据源-请在JSON字符串下面找到-我想在Kendo UI树列表中显示它。我使用的是Angular版本。
几个小时以来,我一直在试图弄清楚为什么它对我不起作用。TreeList总是说"请求失败"。有些东西我还看不见。控制台上没有错误,我无法调试,因为我使用的是缩小版。
另一方面,我有几个问题:
- 架构中的Id、ParentId
- 如果是这样的话,那么我想交给TreeList的数据应该是一个普通对象的列表,其中:每个项目都应该包含一个Id ParentId数据,或者可以像示例中描述的那样映射的等效数据
WebApi的Json:
[{
"Id": 10,
"Name": "tiz",
"ParentId": null
},
{
"Id": 20,
"Name": "husz",
"ParentId": null
},
{
"Id": 30,
"Name": "harm",
"ParentId": 10
},
{
"Id": 40,
"Name": "negyv",
"ParentId": 20
}]
角度代码:
function activate() {
vm.treeOptions = {
dataSource: {
transport: {
read: {
url: configurationService.goNoGoWebApiRootUrl + 'WorkItemClassificationNode/Get2/Depth',
dataType: "jsonp"
},
parameterMap: function (options, operation) {
if (operation !== "read" && options.models) {
return { models: kendo.stringify(options.models) };
}
}
},
schema: {
model: {
id: "Id",
parentId: "ParentId",
fields: {
Id: { type: "number", editable: false, nullable: true },
ParentId: { type: "number", editable: false, nullable: true },
Name: { type: "string", editable: false, nullable: true }
}
}
}
},
sortable: false,
editable: false,
columns: [
{field: "Id", title: "Id", width: "150px"},
{field: "Name", title: "Name", width: "500px"},
{field: "ParentId", title: "ParentId", width: "100px"}
]
}
}
经过长达1-2小时的调查,发现数据类型参数-上例中的"jsonp"-不正确,因为我的服务返回json"application/json。
调查需要安装剑道ui演示服务项目,以了解其工作原理。它返回"application/x-javascript"数据类型。