Ext.Store一次发送多个数据

时间:2013-03-14 02:36:34

标签: java javascript rest jackson extjs4.1

我在一次交易中创建了一对多的表单。我真的需要完全创建记录,或者根本不需要。如果其中一个数据不符合要求,我已经使用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时,它仍然一个接一个地通过父存储发送它们。

任何示例代码?

谢谢

1 个答案:

答案 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请求