Javascript 将extJs网格值传递给存储PHP脚本

Javascript 将extJs网格值传递给存储PHP脚本,javascript,php,ajax,extjs,Javascript,Php,Ajax,Extjs,我目前有一个简单的extJS网格,它从服务器中提取数据并将其呈现给查看器。我想获取所选行的值,然后将其传递给另一个PHP脚本进行处理,以便在另一个网格中显示结果 var roleInformationStore = Ext.create('Ext.data.Store', { autoLoad: true, autoSync: true, model: 'RoleInformation', proxy: { type: 'ajax', url: 'data.php

我目前有一个简单的extJS网格,它从服务器中提取数据并将其呈现给查看器。我想获取所选行的值,然后将其传递给另一个PHP脚本进行处理,以便在另一个网格中显示结果

var roleInformationStore = Ext.create('Ext.data.Store', {
  autoLoad: true,
  autoSync: true,
  model: 'RoleInformation',
  proxy: {
    type: 'ajax',
    url: 'data.php',
    reader: {
      type: 'array',
    },
    writer: {
      type: 'json'
 }
}
});

var roleInformationGrid = Ext.create('Ext.grid.Panel', {
  store: roleInformationStore,
  width: '100%',
  height: 200,
  title: 'Roles',
  columns: [
  {
    text: 'Name',
    flex: 1,
    width: 100,
    sortable: false,
    hideable: false,
    dataIndex: 'role'
 }
 ],
 listeners: {
   cellclick: function(view, td, cellIndex, record, tr, rowIndex, e, eOpts) {
     roleInformationStore.proxy.extraParams = record.get('role');
    //Ext.Msg.alert('Selected Record', 'Name: ' + record.get('role'));
   }
 }
});
使用当前网格中的侦听器,我能够获取值并使用alert方法显示它。关于如何做到这一点有什么建议吗


感谢

要使其起作用,
extraParams
必须是键值字符串对的对象,因为URI必须类似于
data.php?key1=value1&key2=value2

就风格而言,Sencha建议尽可能使用getter和setter

一起,你会得到:

var store = Ext.getStore("roleInformationStore");
store.getProxy().setExtraParam("myRoleParamKey",record.get('role'));
store.load();
在PHP中,您可以使用

$role = $_GET['myRoleParamKey'];
当然,您可以将
myRoleParamKey
替换为您想要的任何字母数字文字,但请确保在服务器端和客户端使用相同的密钥。;-)


文档:

这是一个完美而简洁的文档。非常感谢。最后一件事,如果我想在单击按钮时获取网格行的值,我是否会将从单击中获得的参数传递给setExtraParam参数?