我有一个网格,我以这种方式绑定我的商店。
bind: {
store:'{myStoreViewModel}'
},
现在在myStoreViewModel中,我这样定义了。
myStoreViewModel:{
autoLoad: false,
proxy: {
type: 'ajax',
url: 'myUrl',
timeout: 240000,
paramsAsJson: true,
actionMethods: {
read: 'POST'
},
reader: {
type: 'json'
}
},
listeners: {
load: 'myLoad',
}
},
这里我的serviceStatus
失败了。然后我用普通的Ajax进一步研究这个问题。
这是我正常的Ajax
myNormalAjax : function(myJSON){
Ext.Ajax.request({
url: 'retrievemsgsummary.do',
method: 'POST',
dataType: 'json',
timeout: ProcessConstants.VALBIZDT_TIMEOUT,
jsonData: myJSON,
success: function(response) {
var responseText = Ext.JSON.decode(response.responseText);
if (responseText.serviceStatus == 'SUCCESS') {
this.messageSummaryDetails(this,responseText);
}
},
failure: function(response) {
},
scope: this
});
},
我在这里传递jsonData
并且serviceStatus即将成功。
然后在我的viewModel中我也尝试传递jsonData但没有运气。这是我如何在那里传递jsonData。
dataObj : function(myJSONDATA){
var myStoreStore = this.getViewModel().getStore('myStoreViewModel');
myStoreStore.proxy.jsonData = myJSONDATA;
}
有人可以建议如何为我的网格绑定我的商店。
**
答案 0 :(得分:1)
您可以使用商店/代理定义中的代理extraParams配置,或者使用setExtraparam或setExtraparams方法在生命周期的后期将其他参数(额外参数)传递给商店的代理。所以,在你的情况下,它可能是这样的:
dataObj : function(myJSONDATA){
var myStoreStore = this.getViewModel().getStore('myStoreViewModel');
myStoreStore.getProxy().setExtraParams(myJSONDATA);
}