0

我正在尝试按照此处的教程进行操作:

http://dojotoolkit.org/documentation/tutorials/1.7/store_driven_grid/

教程写道:

require(["dojo/store/JsonRest"], function(JsonRest){
myStore = new JsonRest({target:"MyData/"});

我的 MyData.json 文件放在 ROOT\MyData 中。如果我运行以下代码

...
<script>
var myStore, dataStore, grid;
require(["dojo/store/JsonRest"], function(JsonRest){
    myStore = new JsonRest({target:"MyData/"});
});

require(["dojox/grid/DataGrid",
         "dojo/data/ObjectStore",
         "dojo/domReady!"
], function(DataGrid, ObjectStore){
        grid = new DataGrid({
        store: dataStore = ObjectStore({objectStore: myStore}),
        structure: [
            {name:"State Name", field:"name", width: "200px"},
            {name:"Abbreviation", field:"abbreviation", width: "200px"}
        ]
        }, "target-node-id"); // make sure you have a target HTML element with this id
        grid.startup();
});
</script>
...

如果我写“MyData/”,我会在数据上收到 404 错误,如果我写“MyData/MyData.json”,则会收到 416(请求的范围不满足)。

我知道这完全是愚蠢的,因为我找不到任何人有同样的问题,但我看不到解决方案:/

最好的问候,并感谢您的帮助!

安德烈亚斯

4

1 回答 1

1

好的,所以您提供的数据不足以确定问题所在,但未找到 404。

所以:

  1. 确保您可以通过浏览器毫无问题地访问 json 文件。
  2. 如果这样做,请在{target:"http://URL"}中使用此 url ,这应该可以工作。
  3. 请记住,在 dojo.store.JsonRest 目标选项{target:"relative or absolute"}中,如果使用相对路径,它将查找执行脚本的路径。

例如,如果您的网格脚本位于http://localhost/grid/中,那么 JsonRest 将相对于该路径。对于目标{target:"MyData.json"}它将在http://localhost/grid/MyData.json中查找,如果它在http://localhost/MyData.json中的位置,则找不到它

如果您仍然无法再次解决此帖子!

于 2012-04-13T15:50:47.947 回答