我有一个应该加载用户信息的jsonstore。我将HTTPRequest作为GET,但是当我最终使用参数加载存储时,它会自动更改为POST请求。
之前我做过类似的事情,除了它是一个常规的数据存储区,请求仍然是GET。当提供params来执行POST请求时,是jsonstore的默认行为吗?
var userDisplayStore = new Ext.data.JsonStore({
url : myurl/userinfo,
method : 'GET',
fields : ['firstName', 'lastName', 'email', 'userName'],
id : 'user-display-store',
root : 'data'
});
userGridPanel.on('rowclick', function(grid, dataIndex, event) {
var dataRow = grid.getStore().getAt(dataIndex);
userDisplayStore.load({
params : {username : dataRow.data.username}
});
});
答案 0 :(得分:10)
尝试在您的商店中使用代理...并将该方法设置为代理的一部分。
我认为会是这样的:
var userDisplayStore = new Ext.data.JsonStore({
fields : ['firstName', 'lastName', 'email', 'userName'],
id : 'user-display-store',
root : 'data',
proxy : new Ext.data.HttpProxy({
method: 'GET',
url: 'myurl/userinfo'
})
});
答案 1 :(得分:1)
另一种方式,
var userDisplayStore = new Ext.data.JsonStore({
url : myurl/userinfo,
fields : ['firstName', 'lastName', 'email', 'userName'],
id : 'user-display-store',
root : 'data'
});
userDisplayStore.proxy.conn.method = 'GET';