ExtJSには、私は文字列IDを持つテーブルがあるExtJSの4ExtJSの6 Ajaxの更新の変化が
よりも、行の更新を確認するために、サーバからの同じ応答を期待していない要求します変更を保存し、ExtJSのクライアントは、サーバーに変更されたデータを送信します。ExtJSの4.2では、それはこのように、バック二つの製品の完全なデータを送信するためにサーバーを期待
[{"ord":1,"productid":"SG30301"},{"ord":3,"productid":"SG30100"}]
:
{
"success":true,
"data":[{
"nrproduit":"SG30100",
"ord":3,
"author":"...",
"editor":"...",
(...)
},{
"nrproduit":"SG30301",
"ord":3,
"author":"...",
"editor":"...",
(...)
}]
}
ExtJs 6.2では、これはもう機能しません。私はどうやら、クライアントのアカウントにidProperty
を取るが、列の順序は要求のように反応して同じことを期待しているようだしないエラーに
Uncaught Error: Duplicate newKey "SG30100" for item with oldKey "SG30301"
を取得します。
クライアントがサーバーから返されたIDを強制的に考慮する方法はありますか?または、サーバーコードを変更する必要がありますか?クライアントとサーバー間のデータ同期に関して、ExtJs 4.2と6.2の間で正確に何が変更されたかについてのドキュメントがありますか?
このコードは、基本的に再開:レコードは 'clientIdProperty'を持っている場合、それが対応を作成するためである他、返されたレコードを識別します。 –
重要な点:ExtJsでは、サーバーがデータを送信しない場合、 'update'と' create'はデフォルトでコミットされます。正しくリコールした場合(そして正しく解釈するとhttp://docs.sencha.com/extjs/4.2.2/source/Operation.html#Ext-data-Operation-method-commitRecords)、ExtJs 4.2ではサーバが返送を要求されましたレコードデータ。 –