сериализовать содержимое Ext.data.JsonStore - PullRequest
0 голосов
/ 24 февраля 2011

Как вы сериализуете контент JsonStore?Я пробовал Ext.encode (store.data.items), но он выдает исключение "слишком много рекурсий".

Ответы [ 2 ]

2 голосов
/ 24 февраля 2011

Вот быстрая функция, которая должна работать

function(store) {
    if(typeof(store) != 'object') { return ''; }
    var dataArray = [];
    var encodedData = '';
    var data = store.data.items;
    Ext.each(data, function(item, index, array) {
        dataArray.push(item.data); 
    });
    return Ext.encode(dataArray);
},
0 голосов
/ 04 декабря 2013

Вот еще один вариант, который использует функцию each() в самом магазине.

function getEncodedStoreItems(storeName) {
    var encodedData = "";
    if (typeof storeName !== "undefined") {
        var store = Ext.data.StoreManager.lookup(storeName);
        if (store != null) {
            var data = [];
            store.each(function(item, index, count) {
                data.push(item.data);
            });
            encodedData = Ext.encode(data);
        }
    }
    return encodedData;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...