我是道场和春季发展的新手。我正在尝试使用spring-mvc控制器的json响应来填充Tree小部件。我正在密切关注dojocampus网站上的例子。为什么我的dijit.Tree没有从json源码填充?
首先,如果我使用本地数据源,它的工作原理确定:
<script type="text/javascript">
dojo.require("dojo.data.ItemFileReadStore");
dojo.require("dijit.Tree");
dojo.addOnLoad(function() {
var rawdata = [{"rid":"b1c","name":"Test Parent","children":[{"rid":"1c4","name":"Test Child 1","children":[]},{"rid":"ee6","name":"Test Child 2","children":[]}]}];
var store = new dojo.data.ItemFileReadStore({
data: {
identifier: 'rid',
label: 'name',
items: rawdata
}
});
var treeModel = new dijit.tree.TreeStoreModel({
store: store,
query: {name: 'Test Parent'},
childrenAttrs: ["children"]
});
new dijit.Tree({
model: treeModel
},
"treeOne");
});
</script>
<div id="treeOne">
</div>
但是,如果我用我的JSON的URL树没有出现:
<script type="text/javascript">
dojo.require("dojo.data.ItemFileReadStore");
dojo.require("dijit.Tree");
dojo.addOnLoad(function() {
var store = new dojo.data.ItemFileReadStore({
url: "/Demo2/glossaryobjects/categories.json"
});
var treeModel = new dijit.tree.TreeStoreModel({
store: store,
query: {name: 'Test Parent'},
childrenAttrs: ["children"]
});
new dijit.Tree({
model: treeModel
},
"treeOne");
});
</script>
<div id="treeOne">
</div>
当我和我的Firebug调试可以看到json响应似乎正确加载。它看起来像这样:
{“identifier”:“rid”,“items”:{“rid”:“b1c”,“name”:“Test Parent”, “children”:[{“rid” :“1c4”,“name”:“Test Child 1”,“children”:[]}, {“rid”:“ee6”,“name”:“Test Child 2”,“children”:[]} ]}, “标签”: “名字”}
有萤火虫的错误:
“dijit.tree.TreeStoreModel:查询{” 名 “:” 测试父“}返回0的项目,但必须只返回一个项目“
它看起来像ItemFileReadStore未正确加载。任何人都知道我在做什么错了?我一直在努力让自己的头发出现几天,所以任何帮助都非常感谢。
干杯, 杆。