2011-01-13 2 views
0

新しいレコードを追加するためのツールバーボタン付きのEditorGridPanelがあります。 1つのシナリオ以外はすべて正常に動作します。私はすでにデータベースに存在するレコードを挿入しようとすると、サーバーが送り返し:ExtJs。 JsonStore.insert()によって例外が発生する

を{「成功」:偽、「メッセージは」:「既に存在する」、「データ」:{}}

が、グリッド赤い三角でマークされた新しい行を作成します。その後、新しいレコードを挿入しようとすると(たとえそれがデータベースに存在しなくても)、サーバ側ですべて正常に動作しますが、ファイアバグでは 'キャッチされない例外'が発生します。それは言う: '捕捉されない例外:Ext.data.DataReader:#realizeが無効なリモートデータで呼び出されました。 DataReaderのドキュメントを参照してください#あなたのDataReaderの設定を実現し、確認してください。

なぜですか?

私がいることを発見した 編集:私は、サーバーにパラメータ「データ」でPOSTリクエストを送信し、挿入する方法を使用する新しいレコードを挿入しようとすると (エンコードが真である、listfulが真である):

データ[{ "名前": "123"}]

及びそれを取得:

{ "成功":真、 "データ":{ "PositionId": "eef1d9f3-9fdf-4b87-9f6c- ef42231f4fed "、" Name ":" 123 "}} サーバーから

その後、私は同じ名前のアイテムを作成しよう: データ[{ "名称": "123"}]

ので、私は得る: { "成功":偽、 "メッセージ":」既に存在します "、"データ ":{}} サーバーから。

私は店が送信する権利アイテムを作成しようと次回2つのアイテム データ[{「名前」:「1234」}、{「名前」:「123」}]を持つ配列

が、サーバー{"success":true、 "data":{"PositionId": "1ff05c7f-d5fc-41cd-81f3-faabc225b2a6"、 "Name": "1234"}}最初の(最新の)項目のみを作成し、

したがって、ストアはサーバーに2つのアイテムを作成するように要求しますが、1つしか返送しないため、エラーが発生することがあります。どのように対処するのですか?失敗したアイテムの要求を再度送信しないようにすることは可能ですか?

答えて

関連する問題