Dojo json select - json、dojo

私は dojo.xhrGet オブジェクトの正しい配列を返す:

 <script type="text/javascript">

dojo.require("dijit.form.FilteringSelect");
dojo.require("dojo.data.ItemFileReadStore");

dojo.addOnLoad( function() {

var name = dojo.byId("nafn");
name.setAttribute("dojoType", "dijit.form.ComboBox");

dojo.parser.parse(name.parent);

dojo.xhrGet({
url: "http://localhost:8080/App/gots",
handleAs: "json",

load: function(data){
dojo.byId("container").innerHTML = data;
dojo.parser.parse("container");

console.log(data);

var store = new dojo.data.ItemFileReadStore( { data: data });

console.log(store);

var filteringSelect = new dijit.form.ComboBox({
id: "stateSelect",
name: "state",
value: "Search",
store: store,
searchAttr: "bondiuser"
},
"nafn");

},

onError: function(err) {
console.log(err);
},
headers:{"Accept":"application/json"}
});

});
</script>

私がjavascriptコンソールに出力すると、私は自分のオブジェクトを見ることができます:

console.log(data);

しかし ItemFileReadStore なぜなら空のままですか?

回答:

回答№1は1

ItemFileReadStoreのデータパラメータは、プロパティを持つオブジェクトである必要があります identifier そして items.

var store = new dojo.data.ItemFileReadStore( { data: {
identifier: "bondiuser",
items: data
}});

これは、 data オブジェクトの配列であり、すべてが少なくとも bondiuser.


回答№2の場合は0

これを見てください。

コンボボックスとバリューが衝突しました