gpt4 book ai didi

arrays - 如何通过sencha存储发布数组

转载 作者:行者123 更新时间:2023-12-02 05:45:17 24 4
gpt4 key购买 nike

我创建一个存储并使用一个数组的一些参数对其进行初始化。当我执行加载函数时,数组参数变成一个字符串“[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'
]
}
})

在 Controller 中使用:

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

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

  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'

最佳答案

我找到了解决办法,谢谢

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);

关于arrays - 如何通过sencha存储发布数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20327700/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com