在我的控制器中,我使用“record.save”功能。在 extjs 4.07 中,这会将单个记录作为 json 发送。我在 4.1 中注意到它现在发送一个记录数组。这很好,因为我可以更新我的服务器控制器来处理一个数组(如果可以只指定一条记录就好了)
虽然我的主要问题是我在我的 json 中收到了两次属性“Id”。Id 是我的记录类的属性。如果您查看下面的 Json,您可以看到“Id”已附加到我的 Json 的末尾。这是什么原因?
[{
"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'
}
}
});