【问题标题】:how to post array by store of sencha如何通过煎茶商店发布数组
【发布时间】:2013-12-18 03:01:18
【问题描述】:

我创建了一个存储,并用一个数组的一些参数初始化它。当我执行加载函数时,数组参数变成了一个字符串'[object object]'

代码如下:

商店:

Ext.define('test.store.info',{
    extend: 'Ext.data.Store',
    config:{
        model:'test.model.info',
        proxy:{
            type:'ajax',
            url:'http://domain/path',
            actionMethods:'POST'
        }
    }
});

型号:

Ext.define('test.model.info',{
    extend:'Ext.data.Model',
    config:{
        fields:[
            'code',
            'data'
        ]
    }
})

在控制器中使用:

var store = Ext.getStore('info');
params = {
    t1:[{
        f1:'aa'
    },{
        f2:'bb'
    }],
    t2:'ddd'
}
console.log(params)
store.load({
    params:params
});

或者我只是使用Ajax函数而不是加载函数,结果是一样的。

  Ext.Ajax.request({
        url:'http://domain/path',
        method:'post',
        params:params,
    });

我查看浏览器网络中的xhr,它是一个字符串,如下:

t1:[object Object]
t1:[object Object]
t2:ddd

当我检查服务器日志时,它显示:

t1:'[object Object]'
t1:'[object Object]'
t2:'ddd'

【问题讨论】:

    标签: arrays extjs load store


    【解决方案1】:

    我找到了解决办法,谢谢

    1、Ajax时只用jsonData代替params,如下:

    Ext.Ajax.request({
        url: ajmd.util.version.getHost()+'/archimedes/update/selfInfo',
        method:'post',
        // params:params,
        jsonData:params
    });
    

    2,或者只是在发送前对数据进行编码

    params.t1 = Ext.encode(params.t1);
    

    【讨论】:

      【解决方案2】:

      如果您将参数命名为"foo[]",那么它会将其编码为 POST 数组,使其易于在服务器端使用。注意末尾的[]

      var companies = [1,2,3];
      Ext.Ajax.request({
                  url: '...',
                  method: "post",
                  params: {
                      'companies[]': companies,
                  },
                  success: function (response) {
                      console.log("done");
                  }
              });
      

      【讨论】:

        猜你喜欢
        • 2023-03-28
        • 1970-01-01
        • 2015-12-15
        • 1970-01-01
        • 1970-01-01
        • 2013-07-20
        • 2011-06-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多