Проблемы с DirectStore и baseParams в ExtJS 3.4 - PullRequest
0 голосов
/ 09 ноября 2011

У меня странная проблема при использовании baseParams в DirectStore в ExtJs 3.4: baseParams имеют значение NULL, когда выполняется вызов API (с использованием extdirect), хотя baseParams установлены в объекте store. Я проверил это, записав полный объект хранилища в консоль во время "beforeLoad". Мой магазин выглядит так:

this.store= new Ext.data.DirectStore({
      storeId: 'HereComesTheId',
      api: {
          read: Abc.pluginName.listSomeStuff
      },
      listeners: {
          'load': function (store, records, options) {
              Ext.each(records, function (record, index, all) {
                  if (record.data.selected === true) {
                      store.fireEvent('someThingsHappened', record, index);
                      return false;
                  }
              }, this);
          }
      },
      reader: new Ext.data.JsonReader(),
      remoteSort: false,
      autoLoad: true,
      baseParams:{
        'param1':  Ext.getCmp('Blub').param1,
        'param2': '123'
      },
  });

Я также пытался использовать setBaseParams (), но он тоже не работает. Я пользовался магазинами несколько раз и никогда не сталкивался с такой проблемой. Есть идеи?

1 Ответ

0 голосов
/ 10 ноября 2011

Я нашел ответ сам: произошла неправильная настройка API Extdirect, я звонил.Публичная функция в action.class.php была задана как

@extdirect-len 0

Если функция ожидает один или несколько параметров запроса, вам нужно установить

@extdirect-len 1

, а затем-генерировать API-интерфейс extdirect.Вот и все

...