我正在使用extjs4商店
在xhtpp调用中,它显示http://localhost/home_dir/index.php/questions/content_pie?_dc=1312366604831&hi=&page=1&start=0&limit=25
这是商店代码
var content_type_store = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url: BASE_URL+'questions/content_pie',
method:'POST',
params :{hi:''}
}),
reader: new Ext.data.JsonReader({
root: 'results'
}, [
'qtype',
'qval'
])
});
即使我将方法设置为POST,它的get params也会出现在url
中我正在使用codeigniter作为我的框架。我在CI中禁用了GET参数。 Iwnat在帖子中发送params。使用ext2和3,这段代码运行良好..
帮帮我
谢谢
答案 0 :(得分:2)
method:'POST'
将无效。没有这样的配置选项。但是,有两种方法可以使用商店POST
。更简单的 - 只需覆盖getMethod
函数:
var content_type_store = new Ext.data.Store({
proxy: {
type: 'ajax',
url: BASE_URL+'questions/content_pie',
extraParams :{hi:''},
// Here Magic comes
getMethod: function(request){ return 'POST'; }
},
reader: {
type: 'json',
root: 'results'
}
});
第二种方式:覆盖代理的actionMethods
属性。如果您选择这种方式,您的代理应如下所示:
// ...
proxy: {
type: 'ajax',
url: BASE_URL+'questions/content_pie',
extraParams :{hi:''},
// Here Magic comes
actionMethods: {
create : 'POST',
read : 'POST',
update : 'POST',
destroy: 'POST'
}
},
// ...