2012-04-12 9 views
0

から、私はここにチュートリアルに従うことをしようとしています:道場:DataGridのはJsonRestストア

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/mydata.jsonを」を置けば「のMyData /」と416(要求された範囲未充足)書く場合、私は、データの404エラーを取得します。

私は誰もが同じ問題を抱えて見つけることができないので、それは全く愚かなものだけど、私は解決策を参照してくださいすることができません:/

敬具、あなたの助けをありがとう!

アンドレアス

+1

urlは、jsonファイル 'MyData/MyData.json'を指定する必要があります。 URLに直接アクセスしてWebブラウザでjsonファイルを取得できますか? –

+0

デモからのjsonDataのURLはhttp://dojotoolkit.org/documentation/tutorials/1.7/store_driven_grid/demo/MyData/ ですが、内部には画像があり、完全なURLもありません。 – OammieR

+0

あなたの返信ありがとうございます! Craig:そのようなURLを指定すると、416エラーが発生します。 Chromesデバッガなどで要求されたリンクをクリックすると、正しいJSONが取得されます。 OammierR:イメージを削除した場合は、同じエラーです(パス全体を書き込むと416、チュートリアルに従うと404となります)。私がフルパスを書いても、それは同じです(例えば、localhost:8080/Data/...) – andreasnauta

答えて

1

[OK]を、あなたが提供しているデータをいただきました問題を判断するのに十分ではありませんが、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にある場合は、にあるを探します。

まだこの投稿を解決できない場合は、

+0

あなたの返信ありがとうございます!私がこれを好きなら 'myStore = new JsonRest({target:" http:// localhost:8080/Workspace/MyData/Data.json "});' 416(Requested Range Not Satisfiable)を取得します。そのURLを使用してブラウザでJSONを表示できるので、Dojoとデータの間には「接続」があります。データは有効なJSONなので、私は何が間違っているのか分かりません。 – andreasnauta

+0

貼り付けたコードを使用しましたが、すべてが完璧なので、あなたの問題がデータ、確かにその構造に関係していることを証明しています。 JsonRestのデータ構造: [{名前: 'フロリダ'、略語: 'FL'}、{名前: 'カリフォルニア'、略語: 'CL'}] – Jmsegrev

関連する問題