商店loadData方法ExtJS

时间:2017-10-03 08:49:35

标签: json extjs store dataformat loaddata

我想调用JSON数据和商店中的数据量一样多。这是代码:

storeASF.each(function(stores) {
    var trano = stores.data['arf_no'];
    Ext.Ajax.request({
        results: 0,
        url: '/default/home/getdataforeditasf/data2/'+trano+'/id/'+id,
        method:'POST',
        success: function(result, request){
            var returnData = Ext.util.JSON.decode(result.responseText);
            arraydata.push(returnData);

            Ext.getCmp('save-list').enable();
            Ext.getCmp('cancel-list').enable();

        },
        failure:function( action){
            if(action.failureType == 'server'){
                obj = Ext.util.JSON.decode(action.response.responseText);
                Ext.Msg.alert('Error!', obj.errors.reason);
            }else{
                Ext.Msg.alert('Warning!', 'Server is unreachable : ' + action.response.responseText);
            }
        }
    });
    id++;
});
storeARF.loadData(arraydata);

StoreASF包含数据[arf_no],它将用作Ajax请求URL中的参数。 StoreASF可以包含多个对象存储集,因此可以进行循环。对于来自请求的每个被调用的JSON数据都将被放入数组数据,并且在循环完成后,我使用loadData方法将其保存到storeARF。

问题是,我的数据格式错误,因为loadData只能读取JSON类型的数据。我已经尝试过JSON stringify和parse,但无法复制数据格式。有什么建议怎么做?谢谢。

1 个答案:

答案 0 :(得分:0)

不是使用$(this).closest('td').next('td').html(val); ,而是使用您自己的逻辑对Ext.util.Json.decode()方法中的数据进行规范化。例如:

success()