Extjs 如何将参数传递到Ext.data.Store?
我正在使用以下代码:Extjs 如何将参数传递到Ext.data.Store?,extjs,Extjs,我正在使用以下代码: var genres1 = new Ext.data.Store({ reader: new Ext.data.JsonReader({ fields: ['pincode','place_name'], root: 'rows' }), proxy: new Ext.data.HttpProxy({ url: 'pointalong.php', method: 'GET' }) }
var genres1 = new Ext.data.Store({
reader: new Ext.data.JsonReader({
fields: ['pincode','place_name'],
root: 'rows'
}),
proxy: new Ext.data.HttpProxy({
url: 'pointalong.php',
method: 'GET'
})
});
但是我想把3个参数传递给我的php文件。我该怎么处理?还有如何获取php文件。有两种可能性。第一个是使用store
baseParams
config:
var genres1=新建Ext.data.Store({
基本参数:{
参数1:'value1',
参数2:“值2”
},
// ...
第二种方法是在使用方法时发送它们:
genres1.load({params:{param2:'anotherValue'});
注意:参数将覆盖任何同名的baseParams
因此,如果像上面的示例一样使用baseParams
设置存储,然后使用load
和params,存储将请求…?param1=value1¶m2=anotherValue
…以及如何获取php文件 与通常一样,通过URL参数传递变量-使用:
$param1=$\u GET['param1'];
我使用它,它工作得非常好
Ext.define('store.odon.DiagnosticoStore', {
extend : 'Ext.data.Store',
model : 'model.odont.DiagnosticoModel',
proxy: {
type: 'ajax',
api: {
create: CONTEXT_PATH + '/mvc/odona/crear',
read: CONTEXT_PATH + '/mvc/odon/lista',
update: CONTEXT_PATH + '/mvc/odon/update',
destroy: CONTEXT_PATH + '/mvc/odon/delete'
},
reader: {
type: 'json',
root: 'diagnosticos',
successProperty: 'success'
},
writer: {
type: 'json',
writeAllFields: true,
encode: true,
root: 'diagnosticos'
}
}
});
该参数被指定用于加载存储
var storeDiagnostico= getStore(); // Ext.create('store.odon.DiagnosticoStore');
storeDiagnostico.getProxy().setExtraParam("idOdontologia", value);
storeDiagnostico.load();
如果参数的值可能会更改(例如,如果它来自另一个表单字段),则最可靠的方法是在每次加载存储时加载事件之前应用代理参数,如下所示:
Ext.create('Ext.data.Store', {
...
listeners:{
beforeload: function(store){
var filterText = Ext.getCmp('filterText').value;
store.getProxy().setExtraParam("filterText", filterText);
}
},
@Sudhir如果您使用的是ExtJs 4,那么您需要使用“extraParams”配置选项,并且您将在代理上使用它,而不是在存储本身上使用它。您使用的是什么版本的ExtJs?