public
Created

Extended proxy to resolve Android 3+ url param bug

  • Download Gist
gistfile1.js
JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
/**
* Android 3+ doesn't like url params
* for file:// ajax request, so let's remove them!
*/
Ext.define('MyApp.proxy.NoParamAjax', {
extend: 'Ext.data.proxy.Ajax',
alias: 'proxy.noparamajax',
/**
* Set config to remove auto params
*/
config: {
noCache: false,
enablePagingParams: false,
},
/**
* Copied from Ext.data.proxy.Ajax, modified to remove params
*/
doRequest: function(operation, callback, scope) {
var writer = this.getWriter(),
request = this.buildRequest(operation);
 
request.setConfig({
headers : this.getHeaders(),
timeout : this.getTimeout(),
method : this.getMethod(request),
callback : this.createRequestCallback(request, operation, callback, scope),
scope : this
});
 
if (operation.getWithCredentials() || this.getWithCredentials()) {
request.setWithCredentials(true);
}
 
request = writer.write(request);
 
var requestCfg = request.getCurrentConfig();
 
// remove all url params for Android 3+ compatibility
requestCfg.params = {};
 
Ext.Ajax.request(requestCfg);
 
return request;
},
});

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.