Прокси - это то, что делает запрос и имеет все связанные данные запроса.Вы можете переопределить метод doRequest прокси Ext Ajax.Правильный способ сделать это - создать новый пользовательский прокси, но для краткости приведем пример, обновленный для переопределения doRequest в прокси.Затем вы можете запустить событие, которое передает данные, которые вы хотите, чему угодно, связанному с новым событием, или вы можете записать свою логику в строку, где текущий файл console.log, как в этом примере, закодирован.
Ext.create('Ext.data.Store', {
autoLoad : true,
fields : [
{name: 'item_code', type: 'string'},
{name: 'quantity', type: 'int'},
{name: 'description', type: 'string'}
],
storeId : 'summary',
proxy : {
type : 'ajax',
actionMethods : 'POST',
extraParams : {'filter': 'branch', 'branch': location },
url : 'reports/stock_summary',
reader: {
type : 'json',
root : 'data'
},
/*
* override Ext Ajax Proxy doRequest method
* must be maintained when Ext library is updated in the app
*/
doRequest: function(operation, callback, scope) {
var writer = this.getWriter(),
request = this.buildRequest(operation, callback, scope);
if (operation.allowWrite()) {
request = writer.write(request);
}
Ext.apply(request, {
headers : this.headers,
timeout : this.timeout,
scope : this,
callback : this.createRequestCallback(request, operation, callback, scope),
method : this.getMethod(request),
disableCaching: false // explicitly set it to false, ServerProxy handles caching
});
/*
* do anything needed with the request object
*/
console.log('request', request);
console.log('request.params', request.params);
Ext.Ajax.request(request);
return request;
}
}});