Показать сообщение отдельно
  #3 (permalink)  
Старый 29.08.2011, 01:50
Новичок на форуме
Отправить личное сообщение для xalt Посмотреть профиль Найти все сообщения от xalt
 
Регистрация: 26.08.2011
Сообщений: 3

В этом и вопрос был, как получить JSON строку из store, чтобы потом отправить её на сервер.

В принципе, придумал вот так сделать:
init: function() {
        this.control({
            'viewport  button': {
                click: this.savedata
            }
        });
    },
    
    savedata: function(){
            var store = this.getGamesStore();
            var store_count = store.data.length;
            //формируем json строку
            var json_to_server = '[';
            store.each(function(item, index) {
                //не ставим запятую, если элемент в массиве последний
                json_to_server += index==store_count-1 ? Ext.encode(item.data) : Ext.encode(item.data) + ', ';
            });
            json_to_server += ']';
            
            //vl_store.load(); // можно применить для первой загрузки данных в грид
            
            var ajax = Ext.Ajax.request({
                url: '/sport/jsontoserver.php',
                method: 'post',
                params: {'json' : json_to_server},
                success: function(response){
                    var text = response.responseText;
                }
            });

    }

Но кажется как-то громоздко. И думаю в ext как-то должно делаться это в одну пару строк.
Ответить с цитированием