我在一次交易中创建了一对多的表单。我真的需要完全创建记录,或者根本不需要。如果其中一个数据不符合要求,我已经使用java实现了一个返回代码来回滚所有操作。接口使用extjs,我有与Jackson的REST接口。
问题是,ExtJS 4将特定形式的所有内容以及所有详细记录一起发送到URL的最佳方式是什么?尽管我做了什么,Ext.Store似乎一个接一个地发送数据。
嗯,简而言之,我需要Ext.Store将这样的东西作为raw / application / json内容发布:
{ id: '', party: 3, machine: 'x1', product: 'pr001', runtime: 12, materials: [{ item: 'rm001', qty: '39.01', align: '9.930' }, { item: 'rm002', qty: '20.03', align: '9.0234' }] }
问题是,子存储总是在输入数据时发送数据,当我将autoSync设置为false时,它仍然一个接一个地通过父存储发送它们。
任何示例代码?
谢谢
答案 0 :(得分:0)
我这样做的方式是通过xml但想法应该是一样的 我有父存储包含序列化函数 它看起来像这样
serialize: function(){
var store = this;
var xml = [];
store.each(function(record){
xml.push('id:'+record.get(id))
xml.push('party:'+record.get(party))
record.materials().each(function(materials_rec){
xml.push('item:'+materials_rec.get(item));
...
});
});
return xml.join('');
}
所以我从控制器调用这个函数,然后我提交一个包含父商店和子商店所有记录的ajax请求