2011-07-14 62 views
0

有问题我无法将参数传递到我的控制器的GetAll方法。我尝试过滤如下,但没有运气。有什么建议么?我在ExtJS4上传递查询字符串(参数)与store.load

Ext.define('AM.store.Sessions', { 
    extend: 'Ext.data.Store', 
    model: 'AM.model.Session', 
    autoLoad: false, 

    proxy: { 
     type: 'ajax', 
     api: { 
      read: 'Session/GetAll', 
      update: 'data/updateUsers.json' 
     }, 
     reader: { 
      type: 'json', 
      root: 'Data', 
      successProperty: 'success' 
     }, 
     filters: [ 
      new Ext.util.Filter({ 
        property: 'eyeColor', 
        value: 'brown' 
       }) 
     ] 
    } 
}); 

回答

3

林不知道你在做什么。但是,在您的代理中声明extraParams会将该参数放在您商店中的每个load()上。喜欢这个。

Ext.define('AM.store.Sessions', { 
    extend: 'Ext.data.Store', 
    model: 'AM.model.Session', 
    autoLoad: false, 

    proxy: { 
     type: 'ajax', 
     api: { 
      read: 'Session/GetAll', 
      update: 'data/updateUsers.json' 
     }, 
     extraParams:{ 
      eyeColor:'brown' 
     } 
     reader: { 
      type: 'json', 
      root: 'Data', 
      successProperty: 'success' 
     } 
    } 
}); 

你也可以听店里的“beforeLoad”事件和那里的modifu参数。

或..你可以只参数传递给load()函数,因为这

var myStore = Ext.create('AM.store.Session'); 

myStore.load({ 
    params:{ 
     eyeColor:'brown' 
    } 
}) 
+0

感谢弗雷德里克,完美​​! –

相关问题