从STORE发送POST请求

时间:2012-07-01 11:28:50

标签: sencha-touch extjs4 extjs extjs-mvc extjs4.1

这是我的Store类。我正在尝试完成POST请求。这是我的代码; 一切正常,当我从Firebug检查时,我也得到服务器响应。但唯一的问题是,当我检查Firefox中的Params tab时,我会看到_dc 1341141752113,当我查看firebug中的Post tab时,我会看到

limit   25
page    1
start   0

1。)这些是我在代码中没有传递的一些参数。我为什么要这些?

Ext.define('Pro.store.Animal',{
    extend:'Ext.data.Store',
    model:'Pro.model.Animal',

    proxy: {
        actionMethods : {

            read   : 'POST'
        },
        type: 'ajax',
        url : '/projectmy/animal.php'

    }

    });

2.。)如果我想将参数传递给PHP文件,我应该如何编辑我的代码来传递参数?

2 个答案:

答案 0 :(得分:5)

这些参数是默认值。如果您使用分页工具栏或其他控件来浏览数据,则需要它们。 有关其他参数,您可以使用extraParams in your proxy

答案 1 :(得分:2)

Ext.define('App.store.StoreName', {
    extend: 'Ext.data.Store',

    requires: [
        'App.model.StoreName'
    ],

    constructor: function(cfg) {
        var me = this;
        cfg = cfg || {};
        me.callParent([Ext.apply({
            storeId: 'stid',
            model: 'App.model.MyModel',
            proxy: {
                type: 'ajax',
                actionMethods: 'POST',
                api: {
                    read: '../myreadPhp.php',

                },
                reader: {
                    type: 'json'
                }
            },
            listeners: {
                beforeload: {
                    fn: me.onArraystoreBeforeLoad,
                    scope: me
                }
            }
        }, cfg)]);
    },

    onArraystoreBeforeLoad: function(store, operation, options) {
        this.proxy.extraParams.yournameparameter = "pass some name here"; 
        this.proxy.extraParams.yourageparamete = "pass your age here"; 
    }

});

myreadPhp.php将期待参数yournameparameteryourageparamete