/ / JSON応答からDojoストアを作成する方法-javascript、json、rest、dojo、dgrid

JSONレスポンスからDojoストアを作成する方法 - javascript、json、rest、dojo、dgrid

私はDojo Frameの仕事が初めてなので、どうぞ私と一緒に。 JSONレスポンスを返すようにサービスを実装しています。 私はUIにDojoフレームワークを使用しています。サーバーに要求し、dojoで応答を取得する正しい方法がわかりません。

サーバーにリクエストし、response.amを受信するための3つの方法を見つけました。

1)

request(contextName+"/service/getquestions/projectId/"+projectId,{
handleAs: "json"
}).then(function(data){alert("something")});

2)

var questionAnswerStore = new JsonRest({
target: contextName+"/service/getquestions/projectId/"+projectId,
});

3)

request.get("contextName+"/service/getquestions/projectId/"+projectId",{
handleAs: "json"
}).then(function(data){
dataStore = new ObjectStore({ objectStore:new Memory({ data: data.items }) });
});

さらに、作成されたストアは、dgrid要素を設定するために使用されます。 どんな助けも大歓迎です。

回答:

回答№1は1

ウィジェットで作業するときは、データを dojo/store。それはあなたの最初の方法を省きます。

2つ目は、@ PaulRが言ったように、最良のアプローチです。しかし、それはまたあなたのRESTサービスがあなたが見つけることができる特定の規則に従うべきであることを意味します リファレンスガイド。 これらの基準を満たせない場合は、拡張することを選択できます dojo/store/JsonRest モジュールを適合させることができるか、3番目の方法を使用します。

3番目の方法は、RESTサービスが要件に準拠していない場合におそらく最も簡単です。使用する必要はありません dojo/data/ObjectStore Dojoの新しいバージョンのアダプター。すべてのウィジェットストアは dojo/store API(古いものではありません) dojo/data API)。


回答№2の場合は0

2番目の方法は「最良の」方法です。道場は モデル化 (サーバー側の)データを取得および操作するためのストアインターフェイス。 他の方法は間違っていないかもしれませんが、RESTインターフェースを使用する「道場の方法」ではありません。

ターゲットパラメータには残りを含める必要がありますエンドポイント(/ service / getquestions / projectId)。特定のプロジェクトの情報を取得する場合は、ストアでstore.get(projectId)を呼び出し、次に/ service / getquestions / projectId / projectidに対してGETリクエストを実行し、適切なデータを返します。

同様に、/ service / getquestions / projectId / projectidでPUTリクエストを行うstore.put(object)を呼び出すことで更新を行うことができます。

お役に立てれば。そうでない場合、店舗に関する詳細情報を見つけることができます ここに.