ajax请求中的Extjs5模型默认值

ajax请求中的Extjs5模型默认值,extjs5,Extjs5,我有个问题。我创建了一个简单的模型,并试图通过ajax请求使用它来保存新的价值。但必须为空的参数发送默认值。您可以通过下面的链接查看它。由于控制台(f12)的显示方式不正确,因此代码未专门设置正确的显示方式。在它中,我通过一个查询字符串传递一个值,也通过负载请求传递一个值(据我所知,负载是默认使用的,但还没有发明如何去除它)。通常,CARD呼叫不是空的,而是传输Car-1 如何修复此行为并执行此操作如果我们不共享任何含义,它将传递为空?您可以创建自定义代理类,该类扩展并重写方法,以检查所有创建

我有个问题。我创建了一个简单的模型,并试图通过ajax请求使用它来保存新的价值。但必须为空的参数发送默认值。您可以通过下面的链接查看它。由于控制台(f12)的显示方式不正确,因此代码未专门设置正确的显示方式。在它中,我通过一个查询字符串传递一个值,也通过负载请求传递一个值(据我所知,负载是默认使用的,但还没有发明如何去除它)。通常,CARD呼叫不是空的,而是传输Car-1


如何修复此行为并执行此操作如果我们不共享任何含义,它将传递为空?

您可以创建自定义代理类,该类扩展并重写方法,以检查所有
创建
操作,并将所需值分配给

Ext.define('CarProxy'{
扩展:“Ext.data.proxy.Ajax”,
别名:“proxy.carproxy”,
键入:“ajax”,
Iparam:“carId”,
读者:{
键入:“json”,
rootProperty:“数据”
},
api:{
创建:'./createcar.json'
},
作者:{
键入:“表单”
},
buildRequest:函数(操作){
var request=this.callParent(参数);
if(request.getAction()=“create”){
request.getRecords().forEach(函数(记录){
record.set('carId','');//将所需值分配给id
});
}
返回请求;
}
});

这是默认的ExtJS行为。如果未指定id,则会生成该id。为避免将构造函数添加到模型中,您可以:

Ext.define(“汽车”{
[...],
构造函数:函数(){
this.callParent(参数);
//检查是否为新记录
如果(这个幻影){
//删除生成的id
删除此.data[this.idProperty];
}
}
});

感谢所有回答的人。我想展示我的解决方案:

添加到模型定义参数 标识符:“自定义”。 然后创建适当的标识符,该标识符将在generate方法上返回undefined:

Ext.define('Custom'){
扩展:“Ext.data.identifier.Generator”,
别名:“data.identifier.custom”,
生成:函数(){
返回;
}
});

[有没有办法禁用Extjs中模型的“idProperty”?][1][1]: