使用Ext,默认Ext.Ajax添加到GET请求_dc
参数.例如
GET /ConnViewProcessing/?_dc=1263286227619
如何删除此参数?
PS:有必要手动缓存对ETag
和的响应If-None-Match
.
将disableCaching
选项设置为false:
Ext.Ajax.disableCaching = false;
使用Ext JS 4.1,并在添加以下代码后app.js
,_dc
参数消失:
// Disable _dc parameter Ext.Loader.setConfig({ disableCaching: false }); // My App Ext.application({
使用Sencha Cmd 6.x实现此目的的正确方法是设置(全局)切换app.json
(因为所有这些黑客和覆盖可能会不必要地干扰功能):
"loader": { "cache": true },
然后运行sencha app refresh
,以便更新应用程序bootstrap.json
.
或者,可以配置Ext.Loader
(在运行时):
Ext.Loader.setConfig({disableCaching: false});
当向上滚动并阅读实际问题时,有关Ext.Ajax
(按要求):
Ext.Ajax.request({url: '/ConnViewProcessing', disableCaching: false});
结果:脚本请求上没有更多_dc参数.
@see Sencha Cmd 6.x - Microloader.
请注意,Ext.Loader的使用在ExtJS 5中已更改.
在ExtJS 5中,可以禁用缓存:
暂时通过?cache
在URL的末尾添加" "
通过设置一个名为'ext-cache'的cookie,其值为1
或者通过编辑文件.sencha/app/Boot.js
并将'_config.disableCaching
'属性设置为true(覆盖动态查找).
我正在使用ExtJS 4.2,但这应该适用于Ext JS 4.1及以上版本.在代理中有一个名为noCache的属性,您应该将其设置为false.
Ext4.define('Server',{ extend: 'Ext4.data.Model', fields: [ {name: 'id'}, {name: 'key'}, {name: 'value'} ], proxy: { type: 'rest', url : 'yaddayaddayadda', noCache: false, reader : { type: 'json' } } });
我的代码说Ext4的原因.是因为我使用沙箱模式,因为我将旧的Ext JS 3x代码移动到4.2
这应该适用于extjs 4.0.7:
Ext.Loader.config.disableCaching = false;