Moh*_*eza 3 ajax proxy model extjs
我有一个模特:
Ext.define('CrudTest.model.User', {
extend: 'Ext.data.Model',
idProperty: 'Id',
fields: [
{ name: 'Id', type: 'int' },
{ name: 'Name', type: 'string' },
{ name: 'PhoneNumber', type: 'int' },
{ name: 'Address', type: 'string' },
{ name: 'StateId', type: 'int', reference: 'State' },
],
validators: [
{ type: 'presence', field: 'Name', message: 'define name, please' },
{ type: 'length', field: 'PhoneNumber', max: 8, messsage: 'lower than 8 digit' },
],
proxy: {
type: 'ajax',
api: {
create: 'home/new',
read: 'home/users',
update: 'home/Edit',
destroy: 'home/Delete'
},
},
Run Code Online (Sandbox Code Playgroud)
});
和一个表单,通过loadRecord()加载数据 ,我的处理程序代码为:
var form = this.up('form').getForm();
if (form.isValid()) {
form.getRecord().save();
}
Run Code Online (Sandbox Code Playgroud)
它通过我的代理模型做出帖子请求.但请求的主体只有脏(编辑)字段.为什么我没有其他领域?
但在请求身体我只有脏字段.为什么?我知道updateRecord()使用getFieldValues([onlyDirty = false]),如何发送所有字段值?
我使用extjs 5
终于找到了问题.Ext.data.writer.Writer有一个配置属性writeAllFields
所以我将代理更改为:
proxy: {
writer:{ writeAllFields:true },
type: 'ajax', //also works with type: 'direct',
api: {
create: 'home/new',
read: 'home/users',
update: 'home/Edit',
destroy: 'home/Delete'
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2799 次 |
| 最近记录: |