Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.04.2012, 08:00
wUI wUI вне форума
Аспирант
Отправить личное сообщение для wUI Посмотреть профиль Найти все сообщения от wUI
 
Регистрация: 19.04.2012
Сообщений: 78

Получение данных с условием
Всем доброго времени суток!

Почти готов мой графический компонент на ExtJs Но вопрос еще есть.

Данные получаю в виде json с помощью ajax обращения к файлу *.php.

Ext.define('BlackFrog', {
    extend: 'Ext.data.Model',
    fields: ['name', 'data1']
    });
    var store = Ext.create('Ext.data.JsonStore', {
        model: 'BlackFrog',
        proxy: {
            type: 'ajax',
            url: './resources/getData2.php',
            reader: {
                type: 'json',
                root: 'contents'
            }
        }
    });
    store.load();

Есть необходимость при вызове "getData2.php", передать ему параметры для запроса.
Не понял, существует ли в ExtJs удобный способ передачи этих параметров.

Пока вижу такой выход:
организовать на JS XMLHttpRequest и через request грузить данные в store.
Ответить с цитированием
  #2 (permalink)  
Старый 28.04.2012, 08:07
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

store.getProxy().extraParams = {...};
store.load();

или
store.load({
   params: {...}
});


В 1-м случае параметры сохраняются в proxy, во 2-м параметры единовременные.
Ответить с цитированием
  #3 (permalink)  
Старый 28.04.2012, 08:08
wUI wUI вне форума
Аспирант
Отправить личное сообщение для wUI Посмотреть профиль Найти все сообщения от wUI
 
Регистрация: 19.04.2012
Сообщений: 78

Нашел вроде подходящую статью: http://codeunit.ru/working-with-ajax-in-extjs-4
Почитаю, позже отпишусь
Ответить с цитированием
  #4 (permalink)  
Старый 28.04.2012, 08:11
wUI wUI вне форума
Аспирант
Отправить личное сообщение для wUI Посмотреть профиль Найти все сообщения от wUI
 
Регистрация: 19.04.2012
Сообщений: 78

nekto_O,
Огромное, Вам, спасибо!
Ответить с цитированием
  #5 (permalink)  
Старый 28.04.2012, 09:21
wUI wUI вне форума
Аспирант
Отправить личное сообщение для wUI Посмотреть профиль Найти все сообщения от wUI
 
Регистрация: 19.04.2012
Сообщений: 78

nekto_O,
Хотел бы задать еще один вопрос. Вернуть данные в ExtJS можно и через "Ext.Ajax.request", и с использованием Proxy(как в моем примере).
Из мануала ExtJS не совсем понятно, для меня, в чем принципиальная разница этих способов? Внесите пожалуйста немного ясности в этот вопрос.

P.S. Но в мануале ExtJs есть утешающая надпись "Usually developers will not need to create or interact with proxies directly."
Ответить с цитированием
  #6 (permalink)  
Старый 28.04.2012, 09:51
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

wUI,
Бывают случаи когда необходимо получить данные прямым запросом (не загружая в хранилище и не привязывая их к определенному объекту), тоесть, не зная заранее где придется использовать в дальнейшем. За всех не говорю, но лично мне в таких случаях удобнее использовать прямые запросы (Ext.Ajax.request()). В случаях когда я уверен что данные нужно будет использовать в совокупности (загружая форму, комбобокс, грид, и т.д.), то проще воспользоваться имеющимися у этих объектов методами (в Вашем случае load у хранилища, proxy лишь указывает источник данных для хранилища и как читать респонс). А принципиальной разницы я думаю нет, так как в обоих случаях используется XHR в качестве транспорта данных.
Ответить с цитированием
  #7 (permalink)  
Старый 28.04.2012, 11:45
wUI wUI вне форума
Аспирант
Отправить личное сообщение для wUI Посмотреть профиль Найти все сообщения от wUI
 
Регистрация: 19.04.2012
Сообщений: 78

nekto_O,
Понятно и подробно Душевно благодарю!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 13:00
Получение данных строки грида при нажатии сторонней кнопки Allan Stark ExtJS 4 17.11.2011 19:21
Получение данных NeoMurderer AJAX и COMET 11 21.08.2011 14:46
Автоматическое получение данных из формы Beck jQuery 6 06.11.2009 18:01
Получение данных по протоколу file: Octane AJAX и COMET 0 07.09.2008 21:08