Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php extjs4存储集extraParam动态不工作_Php_Extjs_Extjs4.2 - Fatal编程技术网

Php extjs4存储集extraParam动态不工作

Php extjs4存储集extraParam动态不工作,php,extjs,extjs4.2,Php,Extjs,Extjs4.2,你好。我最近遇到了一个令人不安的错误,我不知道它从哪里来,也不知道它是如何发生的 我有一个表单,我想在按下按钮时将数据保存到数据库中,该表单由控制器处理。这是我在控制器中执行的操作: var personStore = Ext.getStore('personBaseDetails'); var caStore = Ext.getStore('creditApplication'); var form = button.up('form').getForm(); var userId = per

你好。我最近遇到了一个令人不安的错误,我不知道它从哪里来,也不知道它是如何发生的

我有一个表单,我想在按下按钮时将数据保存到数据库中,该表单由控制器处理。这是我在控制器中执行的操作:

var personStore = Ext.getStore('personBaseDetails');
var caStore = Ext.getStore('creditApplication');
var form = button.up('form').getForm();
var userId = personStore.first().get('ID');

//use this to update
if(caStore.count() < 1){
    var creditApplication = Ext.ModelManager.create({
    }, 'appName.model.creditApplicationModel');
    caStore.add(creditApplication);
}

var record = caStore.first();
form.updateRecord(record);

console.log("user id to be edited is = " + userId);
console.log("caStore count = " + caStore.getCount());

caStore.getProxy().extraParams = {
    selectedUserID: userId
};

// caStore.load();
caStore.sync({
    success: function(batch) {
        console.log(batch.operations[0].request.scope.reader.jsonData['message']);
    },

    failure: function(batch) {
        console.log(batch.operations[0].request.scope.reader.jsonData['message']);
    }

});
现在我目瞪口呆了,因为我有另一个代码,它与我在控制器中设置extraParam的意义类似,php代码能够很好地接收和读取它。请注意,我的两个存储区都没有任何
extraParam
属性


我一直被这个问题困扰着,不知道该怎么办。任何帮助都将不胜感激

存储没有外部参数,代理有。您可以将其设置为:


store.getProxy()。

像这样尝试
caStore.load({params:{selectedUserID:userId}})
Ext.define('app.store.creditApplication', {
    extend: 'Ext.data.Store',

    requires: [
        'app.model.creditApplicationModel',
        'Ext.data.proxy.Ajax',
        'Ext.data.reader.Json',
        'Ext.data.writer.Json'
    ],

    constructor: function(cfg) {
        var me = this;
        cfg = cfg || {};
        me.callParent([Ext.apply({
            autoLoad: false,
            model: 'app.model.creditApplicationModel',
            storeId: 'creditApplication',
            clearOnPageLoad: false,
            proxy: {
                type: 'ajax',
                api: {
                    create: 'data/person/creditApplication/createCreditApplication.php',
                    read: 'data/person/creditApplication/readCreditApplication.php',
                    update: 'data/person/creditApplication/updateCreditApplication.php'
                },
                url: '',
                reader: {
                    type: 'json',
                    root: 'data'
                },
                writer: {
                    type: 'json',
                    encode: true,
                    root: 'data'
                }
            }
        }, cfg)]);
    }
});