如何在extjs中在运行时更改代理的extraParams配置?

时间:2011-07-12 14:37:43

标签: javascript ajax extjs

我有以下商店:

var store = new Ext.data.Store({
     model: 'Result',
     proxy: {
         type: 'ajax',
         extraParams: {search_term : term},
         url : 'find.pl'
     },
});

如何在运行时更改用于调用url的参数(例如search_term)?

4 个答案:

答案 0 :(得分:7)

将其视为 -
您没有调用 URL。您加载商店。

现在,只要尝试使用类似 -

的方法加载商店,就可以指定search_term值

store.load({
    params:{
        search_term:'my runtime search term'
    }
    //other options like a callback function, append/add flag, etc. 
});

答案 1 :(得分:1)

假设您想在定义store变量后更改参数。显然将取决于Ext.data.Store是否允许更改参数。如果它允许那么它就像这样简单:     store.proxy.extraParams.search_term = //something

答案 2 :(得分:0)

var form = this.up('form').getForm();
              var searchText = form.getValues('search_term').split("=")[1];
              var resultGrid = Ext.widget('ResultGrid');
              var store = resultGrid.getStore();
                  if (searchText != undefined && searchText != '') {
                      store.proxy.extraParams.bomId = searchText;
                  }
              resultGrid.store.load();
              }

答案 3 :(得分:0)

store.proxy.extraParams.search_term = 'any value'; //set extraparams field
store.load() //load the store

但需要注意IE8 .. check this