0

私のコントローラーでは、「record.save」機能を使用しています。extjs 4.07 では、これは単一のレコードを json として送信します。4.1 では、レコードの配列を送信するようになったことに気付きました。サーバーコントローラーを更新して配列を処理できるので、これで問題ありません(単一のレコードのみを指定できればいいでしょう)

私の主な問題は、jsonでプロパティ「Id」を2回受け取ったことです。Id は私のレコード クラスのプロパティです。以下の Json を見ると、Json の末尾に「Id」が追加されていることがわかります。これの理由は何ですか?

[{
   "Id":"f3e7def0-42e6-41c9-a2ba-a04400b7c568",
   "QuotedPrice":"\u00a3500.00",
   "Notes":"",
   "JobQuantity":"0",
   "DeliveryDate":"",
   "ProjectId":"",
   "id":""
}]

これが私のモデルです(読みやすくするためにjsonの一部を削除しました)

Ext.define('Mis.model.Job', {
    extend: 'Ext.data.Model',
    fields: [
                {
                    mapping: 'Id',
                    name: 'Id'
                }
                ,
                {
                    mapping: 'Value',
                    name: 'QuotedPrice'
                },
                {
                    mapping: 'Name',
                    name: 'Name'
                },
                {
                    mapping: 'JobType',
                    name: 'JobType'
                },
                {
                    mapping: 'ClientPo',
                    name: 'ClientPO'
                },
                {
                    mapping: 'FilesOver',
                    name: 'FilesOver'
                },
                {
                    mapping: 'PreviousJobId',
                    name: 'PreviousJobId'
                },
                {
                    mapping: 'EstimateValue',
                    name: 'Estimate'
                },
                {
                    mapping: 'SalesContact',
                    name: 'SalesContact'
                },
                {
                    mapping: 'AccountHandler',
                    name: 'AccountHandler'
                },
                {
                    mapping: 'AssemblyTime',
                    name: 'AssemblyTime'
                },
                {
                    mapping: 'DespatchDate',
                    name: 'DespatchDate'
                },
                {
                    mapping: 'ProductionFiles',
                    name: 'ProductionFiles'
                },
                {
                    mapping: 'Notes',
                    name: 'Notes'
                },
                {
                    mapping: 'Quantity',
                    name: 'JobQuantity'
                },
                {
                    mapping: 'DeliveryDate',
                    name: 'DeliveryDate'
                },
                {
                    mapping: 'ProjectId',
                    name: 'ProjectId'
                }
    ],
        proxy: {
           type: 'ajax',
           url: 'https://www.xxx.localhost/',
               api:
               {
                  read: '/Jobs/Read/' + jId, 
                  update: '/Jobs/Update',
                  create: '/Jobs/Update',
                  destroy: '/Jobs/Remove'
               },
               reader: {
                           type: 'json',
                           root: 'Jobs',
                           successProperty: 'success',
                           totalProperty: 'Total'
                       }
           }
});
4

1 に答える 1

1

モデルに次を追加してみてください。

...
idProperty: 'Id',
...
于 2012-05-09T16:06:34.143 に答える