我正在尝试使用POST请求调用API。但我的Chrome Inspector会在网络标签中显示method='GET'
...
这是我的代码:
Ext.define('TestItem', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int'},
{name: 'name', type: 'string'}
]
});
var testStore = Ext.create('Ext.data.JsonStore', {
model: 'TestItem',
autoLoad: true,
proxy: {
type: 'ajax',
url : '../path_to/api/',
method : 'POST',
reader: {
type: 'json',
root: 'data',
totalProperty: 'total'
}
},
baseParams: {
operation:'showall'
}
});
所以我想用method='POST'
和参数operation = showall
Google Inspector会在网络标签中向我显示以下信息:
GET ../path_to/api/?_dc=1315297478131&page=1&start=0&limit=25 HTTP/1.1
为什么是GET请求?
为什么有一些参数如limit,start和dc?
我已经尝试了1000个教程,并且整晚都用Google搜索。
答案 0 :(得分:17)
在extjs4方法中:POST不起作用。在extjs4中,任何读取都由GET发送,任何写入(POST,PUT,DELETE)都由POST发送。要覆盖它,请参阅actionMethods。
type: 'ajax',
actionMethods: {
create : 'POST',
read : 'POST',
update : 'POST',
destroy: 'POST'
}