0

我有一个位于面板中的图表。我想将面板的标题传递给使用 ajax 的 php 脚本。我已经为我的商店使用了 ajax 代理。例如,我想知道面板的标题,以便查询正确的数据。这是我到目前为止所做的。

var store = Ext.create('Ext.data.JsonStore', {
    fields: ['project', 'accepted', 'rejected', 'deleted', 'undefined'],
    proxy: {
        type: 'ajax',
        url: 'generate_proj.php',
        extraParams: {foo: this.idname},
        reader: {
            type: 'json'
        }
    },
    autoLoad: true,
    listeners:  { 
        load: function(obj,records) {
            var text = Ext.decode(obj.responseText);
            console.log(this.idname);
            Ext.each(records,function(rec) {});
        }
    }
});  

在我的 php 脚本中,我使用$value = $_GET['foo'];.

我确定我很接近,但我找不到任何关于如何更好地利用参数的示例或文档。有什么帮助或想法吗?

4

1 回答 1

1

extraparams 应该是extraParams,骆驼装的。http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.proxy.Server-cfg-extraParams尽管他们的文档中有评论说它不起作用。

一种解决方法是监听beforeload事件并从那里更改参数http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.AbstractStore-event-beforeload

listeners:  {
    scope: this 
    beforeload: function(store, operation) {
        operation.params.foo = this.idname;
    }
}
于 2012-08-22T21:43:05.120 回答