0

これは私のRESTサーバーからのJSONです:

[{"name": "REL"}、{"name": "RBOW"}、{"name": "EMLAWEB"}]

これは、JSONデータストアのプログラムによる作成です。

    dojo.addOnLoad(function(){
    var appPrefixStore = new dojox.data.JsonRestStore({target:"http://localhost:9080/AtRest/AtRest/tag/prefix"});`

これは、comboxbox内のデータストアの宣言型の使用です。

    <input id="selectPrefixCombo" 
    name="appPrefix" 
    data-dojo-type="dijit.form.ComboxBox"
    data-dojo-props="autocomplete:'false', trim:'true', maxHeight:'200', store:'appPrefixStore'">
 </input>

ただし、コンボボックスには何も表示できません。何が得られますか?

私はデータストアを宣言的に使用しようとさえしました:

<div data-dojo-type="dojo.data.JsonRestStore" ...
4

2 に答える 2

0

とにかく...グローバル変数を使用した作業コードは次のとおりです

<script type="text/javascript">
    //global variable container
    var widgets = {};

    require(
        // Set of module identifiers
        [   "dojo", 
            "dojo/parser", 
            "dojo/_base/xhr",
            "dijit/form/ComboBox",  
            "dojo/store/JsonRest", 
        ],
        // Callback function, invoked on dependencies evaluation results        
        function(JsonRestStore) {
            widgets.appPrefixStore = new dojo.store.JsonRest({target:"http://localhost:9080/AtRest/AtRest/tag/prefix"});
        });
</script>

<select id="selectPrefixCombo" name="appPrefix" data-dojo-type="dijit.form.ComboBox"
    data-dojo-props="autocomplete:'false', trim:'true', maxHeight:'200', store:widgets.appPrefixStore">
</select>
于 2012-06-07T13:18:12.967 に答える
0

ありがとう、どうやら私が見たすべてのチュートリアルと例に惑わされたようです。JsonRestStore を構築するだけでは、サーバーへのリクエストをトリガーするには不十分です。それを機能させるには、を追加するappPrefixStore.fetch()必要があります。

于 2012-06-07T08:05:43.913 に答える