【问题标题】:Wrong data format for store loadData method ExtJS存储 loadData 方法 ExtJS 的数据格式错误
【发布时间】:2018-03-14 10:01:17
【问题描述】:

我想调用 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 包含 data[arf_no] 将用作 Ajax 请求 url 中的参数。 StoreASF 可以包含不止一组对象存储,因此循环是可能的。对于请求中调用的每一个 JSON 数据,都会被放入数组数据中,循环完成后,我使用 loadData 方法将其保存到 storeARF。

问题是,我的数据格式不对,因为 loadData 只能读取 JSON 类型的数据。我已经尝试过 JSON 字符串化和解析,但无法复制数据格式。任何建议如何做到这一点?谢谢。

【问题讨论】:

    标签: json extjs store dataformat loaddata


    【解决方案1】:

    不要使用Ext.util.Json.decode(),而是使用您自己的逻辑对success()方法中的数据进行规范化。例如:

    success: function (response) {
                 console.log(response);
                 var myData = [];
                 Ext.Array.forEach(response.data, function (item) {
                     myData.push({
                         name: item.name,
                         email: item.email,
                         phone: item.phone
                     });
                 });
                 store.load();
    }
    

    【讨论】:

      猜你喜欢
      • 2011-08-21
      • 2012-07-05
      • 2011-04-04
      • 2011-08-24
      • 2012-07-16
      • 2015-09-19
      • 1970-01-01
      • 2011-07-05
      • 1970-01-01
      相关资源
      最近更新 更多