Extjs - 在通过 REST 将模型实例发送到服务器之前,停止客户端将任何 "id" 附加到模型实例
Extjs - Stop client to append any "id" with Model instance before sending it to server via REST
客户端(浏览器)自动在我发送到服务器的 JSON 中附加 "id"。
这是我的代理模型:
fields: ['id','title','body'],
idProperty: 'id', // this is the default value (for clarity)
// clientIdProperty: 'cliendID',
identifier: 'sequential', // to generate -1, -2 etc on the client
proxy: {
type: 'rest',
//appendId: false,
limitParam:"",
filterParam: "",
startParam:'',
pageParam:'',
url:'http://localhost:3000/posts',
headers: {'Content-Type': "application/json" },
reader: {
type: 'json',
rootProperty:'posts'
},
writer: {
type: 'json'
}
}
当我创建一个模型对象以通过 Rest 将数据发送到服务器时,Rest 用 (NameOfMymodel-number) 填充 'id' 字段。
这是创建模型对象并将其通过 Rest 发送到服务器的代码:
var UserStore = Ext.getStore('peopleStore');
var user = Ext.create('ThemeApp.model.peopleModel',{'title': "Test", 'body': "Testing" });
user.save(); //POST /users
UserStore.load();
有什么方法可以阻止 extjs 在我的数据中附加这样的 ID 吗?
这是一个类似的问题,但不是我正在寻找的问题。
how do i prevent an extjs model/proxy from saving the empty primary id on create
只需将 persist 设置为 false 即可
Ext.define('ThemeApp.model.peopleModel', {
extend: 'Ext.data.Model',
fields: [ {name: 'id', type: 'int', persist: false},
{name: 'xyz', type: 'auto'}]
}
'idProperty' 默认值为 'id',因此只需在您的模型中为 id 属性 设置 persist: false。
学分:ajokon(通过引用另一个 Whosebug 问题在评论中指出这一点)
客户端(浏览器)自动在我发送到服务器的 JSON 中附加 "id"。 这是我的代理模型:
fields: ['id','title','body'],
idProperty: 'id', // this is the default value (for clarity)
// clientIdProperty: 'cliendID',
identifier: 'sequential', // to generate -1, -2 etc on the client
proxy: {
type: 'rest',
//appendId: false,
limitParam:"",
filterParam: "",
startParam:'',
pageParam:'',
url:'http://localhost:3000/posts',
headers: {'Content-Type': "application/json" },
reader: {
type: 'json',
rootProperty:'posts'
},
writer: {
type: 'json'
}
}
当我创建一个模型对象以通过 Rest 将数据发送到服务器时,Rest 用 (NameOfMymodel-number) 填充 'id' 字段。
这是创建模型对象并将其通过 Rest 发送到服务器的代码:
var UserStore = Ext.getStore('peopleStore');
var user = Ext.create('ThemeApp.model.peopleModel',{'title': "Test", 'body': "Testing" });
user.save(); //POST /users
UserStore.load();
有什么方法可以阻止 extjs 在我的数据中附加这样的 ID 吗?
这是一个类似的问题,但不是我正在寻找的问题。 how do i prevent an extjs model/proxy from saving the empty primary id on create
只需将 persist 设置为 false 即可
Ext.define('ThemeApp.model.peopleModel', {
extend: 'Ext.data.Model',
fields: [ {name: 'id', type: 'int', persist: false},
{name: 'xyz', type: 'auto'}]
}
'idProperty' 默认值为 'id',因此只需在您的模型中为 id 属性 设置 persist: false。 学分:ajokon(通过引用另一个 Whosebug 问题在评论中指出这一点)