Extjs - 通过ajax将特定的params传递给另一个脚本

时间:2012-08-22 21:36:34

标签: php ajax json extjs

我在面板中有一个图表。我想使用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'];

我确定我很接近,但我找不到任何关于如何更好地利用params的例子或文档。任何帮助或想法?

1 个答案:

答案 0 :(得分: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;
    }
}