我是道場和春季發展的新手。我正在嘗試使用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未正確加載。任何人都知道我在做什麼錯了?我一直在努力讓自己的頭髮出現幾天,所以任何幫助都非常感謝。
乾杯, 杆。