2011-11-09 5 views
0

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

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(), но он не работает, тоже. Я уже несколько раз пользовался магазинами и не получал таких проблем. Есть идеи?

ответ

0

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

@extdirect-len 0 

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

@extdirect-len 1 

и чем вы должны повторно генерировать extdirect API. Вот и все