2011-11-09 63 views
0

在ExtJs 3.4的DirectStore中使用baseParams時出現了一個奇怪的問題:雖然設置了baseParams,但在調用API調用(使用extdirect)時,baseParams爲NULL在商店對象中。我已經通過在「beforeLoad」期間將完整的商店對象寫入控制檯來檢查了這一點。我的店是這樣的:在ExtJS 3.4中DirectStore和baseParams的問題

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

我自己找到了答案:我打電話時發現Extdirect API配置錯誤。在action.class.php公共職能設定爲

@extdirect-len 0 

如果函數需要一個或多個請求參數,你必須設置

@extdirect-len 1 

和比你要重新生成extdirect API。就是這樣