問題タブ [jaydata]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
odata - Breeze & OData: コレクションの拡張に関する問題
機能するもの:
Breeze では、次のクエリを実行できます。
Q1
このリクエストは次のようになります。
R1
これは、トランザクション プロパティが次のようになっていることを除いて、正しいデータを返します。
ブラウザで transactions.__deferred.uri のURIを叩いてみました
R1.1
そして、それは私が期待するトランザクションで応答します.
機能しないもの:
Breeze を使用してそのトランザクション リストを取得するために、上記のクエリを次のように展開句で変更します。
Q2
このリクエストは次のようになります。
R2
これは 500 エラーを生成します。
この Breeze クエリも試しました。
Q3
これも 500 エラーを生成します。
知っておくべきこと:
Node+MongoDB+JayData で構築された OData サービスに飛び込む前に、Breeze を除外しようとしています。
上記の R1 と R2 の唯一の違いは、 の追加です&$expand=transactions
。R1 は機能し、R2 は 500 エラーになります。R2 が有効な OData 要求である場合、JayData の実装にトラブルシューティングの努力を集中する必要があります。私にとっての問題は、Breeze、OData、および JayData を初めて使用することです。そのため、検索を絞り込むのに苦労しています。
参考までに、私の JayData context.js は次のとおりです。
odata - Breeze.js : OData アダプターを使用してエンティティ関係を格納する方法
私の目標は、OData サーバー上の 2 つのそよ風エンティティ間の単純な関係を維持することです。
サーバーをセットアップしました。次のことができます。
- データを挿入する
- クエリデータ
- クライアント側で 2 つのエンティティ間の関係を作成する
- しかし、関係をサーバー側で永続化することはできません。
私が見逃しているもののアイデアはありますか?
以下は私のセットアップの詳細です
- Node.js (virtualBox、ubuntu 12.04、node.js、MongoDB) で JayData を実行している OData/MongoDB バックエンドを使用しています。
- このスタック オーバーフローの質問に基づいて、ユーザー エンティティと個人エンティティを含む単純なデータ モデルを作成しました。これは JayData データモデル定義です
>
- Breeze.js を使用してデータをクエリできます
- Breeze.js を使用して User エンティティと Person エンティティを挿入できます
- Breeze でリレーションを設定でき、エンティティの変更を確認できます
- Breeze.js を 1.3.3 に更新しました
>
しかし、2 つのエンティティに対して 2 つの OData 投稿しか表示されませんが、2 つのエンティティを結び付けるものは何もありません
- WebAPI と OData アダプターの両方が Breeze コード ベースで同じ関数を呼び出し、関連するエンティティをクエリおよび挿入する機能を示す複数の Breeze/WebAPI があるため、OData アダプターを除外しました。
- これに対処していると思われる Breeze.js / OData サンプルは見たことがありません。
- 動作する最も近い例は、datajs コード サンプルです。関連するエンティティを /$links/ に投稿して関係を作成します (Breeze.js または JayData の OData アダプターには見られないもの)。
javascript - JayData のリレーショナル データ
既存のアプリケーションを WebSql から JayData に書き直しています。このアプリは WebSql に基づいて構築されており、廃止されたため、置き換える必要があります (少なくとも遅かれ早かれ)。すべての WebSql を独自のアダプターに再構成し、現在、JayData を使用して並列アダプターを作成しようとしています。
私が知りたいのは、 sql を適切に処理する方法join
です。これが例です
コンテキスト内に 2 つの jayData エンティティ " table1
" と " table1Local
" があります。これは私の大まかな試みですが、データを結合しません。
これを適切に機能させる方法について少し迷っています。
iis - jaydata.js を使用して odata Web サービスを呼び出すと 401 が返される
jaydata.js を使用して odata Web サービスを呼び出しますが、401 Unauthorized が返されます。
サービスを参照し、最初に 2 番目のブラウザー タブで手動で認証しても、最初のタブで 401 が返されます。
これは私のコードです:
これはブラウザからの情報です:
私はこの問題について完全に初心者なので、解決策や問題の理解を深めるためのアドバイスは役に立ちます
kendo-ui - durandal を jaydata と kendoui で使用する
hottowel テンプレートを使用して、新しい VS2012 プロジェクトを作成しました。これは、代わりに durandal、knockout、および Breeze を使用します。
私はそよ風の代わりに jaydata を使用したいと思います。UI レイヤーには、優れた asKendoDataSource() 機能を使用して kendoui グリッドを強化したいと考えています。
ケンドウイをデュランダルとうまく連携させるために、すべての指示に従いました。これで問題ありません。
jaydata エンティティを取得して asKendoDataSource() を実行するモデルがあります。私のビューは、asKendoDataSource() への参照を含むビューモデルのプロパティに設定されたソース プロパティを持つ MVVM 宣言された kendoui グリッドです。
ノックアウトの世界では、viewModel プロパティは空の entities = ko.observableArray() になり、データ サービスが戻るときにエンティティ (値) を使用して初期化されます。
データが jaydata から返されたときに asKendoDataSource() 変換によって初期化される空の剣道データソースである viewModel プロパティを持つように、これを模倣する必要があります。このようにして、mvvm 剣道グリッドは最初に空のデータソースにバインドされ、asKendoDataSource() が呼び出されたときにそのアイテムを受け取ります。
これはすべて、モデル - durandal の viewModel バインディングが非同期であり、最初から viewModel にプレースホルダー プロパティが必要であり、viewModel の activate() メソッドの promise が解決された後、バインドされたデータで更新され、代わりに、viewModel がバインドされている DOM を強化します。
Domにバインドされた空の監視可能な配列のknockoutjsの実践を模倣する方法を理解できず、(まったく同じ参照)初期化されてdomにデータが入力されます。asKendoDataSource() メソッドによって再初期化される空の剣道データソースを作成する方法はないようです。剣道グリッドが元の参照にバインドされているため、viewModel プロパティを新しいデータ ソースに再割り当てしても機能しません。
これは私の空港ビューです:
これは私のデータコンテキストです:
これは私の空港ビューモデルです:
私が見ている最後の問題: MVVM は kendoui グリッドを宣言し、data-kendo-bind={source: airports)" を介してビュー モデルにバインドされているように思えます。ここで、空港はエンティティを介して作成されたビューモデルのプロパティです。 .asKendoDataSource() が機能しない. どういうわけかグリッドにデータが表示されない. 何か追加する必要がありますか?
ありがとう