Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dojo:使用带有编程jsonreststore的声明性组合框_Dojo - Fatal编程技术网

Dojo:使用带有编程jsonreststore的声明性组合框

Dojo:使用带有编程jsonreststore的声明性组合框,dojo,Dojo,这是来自我的REST服务器的JSON: [{“名称”:“REL”},{“名称”:“RBOW”},{“名称”:“EMLAWEB”}] 这是JSON数据存储的编程创建: dojo.addOnLoad(function(){ var appPrefixStore = new dojox.data.JsonRestStore({target:"http://localhost:9080/AtRest/AtRest/tag/prefix"});` 这是对comboxbox中数据存储的声明

这是来自我的REST服务器的JSON:

[{“名称”:“REL”},{“名称”:“RBOW”},{“名称”:“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" ...

谢谢,显然我可能被我所看到的所有教程和示例误导了。

构造JsonRestStore不足以触发对服务器的请求。我必须添加一个appPrefixStore.fetch()
才能使它工作。

无论如何。。。下面是使用全局变量的工作代码

<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>

//全局变量容器
var-widgets={};
要求(
//模块标识符集
[“道场”,
“dojo/parser”,
“dojo/_base/xhr”,
“dijit/form/ComboBox”,
“dojo/store/JsonRest”,
],
//回调函数,根据依赖项评估结果调用
函数(JsonRestStore){
widgets.appPrefixStore=new dojo.store.JsonRest({target:http://localhost:9080/AtRest/AtRest/tag/prefix"});
});

您是否检查了您的商店是否加载了rest数据?如何检查?我用的是Firebug,实际上我在修正自己。另一个论坛中的其他人指出,我一直在错误的范围内使用变量,并将其作为字符串使用。