我使用以下代码:
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'
})
});
Run Code Online (Sandbox Code Playgroud)
但我想将3个参数传递给我的php文件.我应该如何处理?以及我如何获得PHP文件.
Mol*_*Man 17
有两种可能性.第一个是使用商店baseParams配置:
var genres1 = new Ext.data.Store({
baseParams: {
param1: 'value1',
param2: 'value2'
},
// ...
Run Code Online (Sandbox Code Playgroud)
第二个是在使用加载方法时发送它们:
genres1.load({params: {param2: 'anotherValue'}});
Run Code Online (Sandbox Code Playgroud)
注意:params将覆盖任何同名的baseParams
因此,如果您baseParams使用上面的示例设置商店,然后使用loadparams商店将请求...?param1=value1¶m2=anotherValue.
...以及我如何获得php文件
通常通过URL参数传递变量 - 使用$ _GET:
$param1 = $_GET['param1'];
Run Code Online (Sandbox Code Playgroud)
Edy*_*rre 15
我使用它,它完美地工作
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'
}
}
});
Run Code Online (Sandbox Code Playgroud)
分配参数以加载商店
var storeDiagnostico= getStore(); // Ext.create('store.odon.DiagnosticoStore');
storeDiagnostico.getProxy().setExtraParam("idOdontologia", value);
storeDiagnostico.load();
Run Code Online (Sandbox Code Playgroud)
如果参数的值可能会更改(例如,如果它来自另一个表单字段),那么最可靠的方法是每次商店加载时在load事件之前应用proxy参数,如下所示:
Ext.create('Ext.data.Store', {
...
listeners:{
beforeload: function(store){
var filterText = Ext.getCmp('filterText').value;
store.getProxy().setExtraParam("filterText", filterText);
}
},
Run Code Online (Sandbox Code Playgroud)