Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在extjs中在运行时更改代理的extraParams配置?_Javascript_Ajax_Extjs - Fatal编程技术网

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

Javascript 如何在extjs中在运行时更改代理的extraParams配置?,javascript,ajax,extjs,Javascript,Ajax,Extjs,我有以下商店: var store = new Ext.data.Store({ model: 'Result', proxy: { type: 'ajax', extraParams: {search_term : term}, url : 'find.pl' }, }); 如何在运行时更改调用url的参数(例如搜索词)?假设您想在定义存储变量后更改参数。这显然将取决于Ext.data.Store是否允许更改

我有以下商店:

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

如何在运行时更改调用url的参数(例如搜索词)?

假设您想在定义
存储
变量后更改参数。这显然将取决于
Ext.data.Store
是否允许更改参数。如果允许的话,它就简单到:
store.proxy.extraParams.search\u term=//something

将其视为-
您不需要调用URL。你去商店装货

现在,您可以在尝试加载存储时指定搜索项值,如-


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

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();
              }
store.proxy.extraParams.search_term = 'any value'; //set extraparams field
store.load() //load the store