0

私はここのチュートリアルに従おうとしています:

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

チュートリアルは次のように書いています。

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

MyMyData.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. その場合は、この URL を{target:"http://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 に答える