删除Ext中的_dc参数

ko1*_*1ik 30 etag extjs

使用Ext,默认Ext.Ajax添加到GET请求_dc参数.例如

GET /ConnViewProcessing/?_dc=1263286227619
Run Code Online (Sandbox Code Playgroud)

如何删除此参数?

PS:有必要手动缓存对ETag和的响应If-None-Match.

Luk*_*man 28

disableCaching选项设置为false:

Ext.Ajax.disableCaching = false;
Run Code Online (Sandbox Code Playgroud)

  • 这看起来像一个全球旗帜.有没有办法按要求执行此操作?我有一些请求要缓存,有些我希望添加缓存清除参数. (4认同)
  • 你在哪里真正把这个值? (2认同)

Pen*_*off 22

使用Ext JS 4.1,并在添加以下代码后app.js,_dc参数消失:

// Disable _dc parameter

Ext.Loader.setConfig({
    disableCaching: false
});

// My App

Ext.application({
Run Code Online (Sandbox Code Playgroud)


Mar*_*ler 16

使用Sencha Cmd 6.x实现此目的的正确方法是设置(全局)切换app.json(因为所有这些黑客和覆盖可能会不必要地干扰功能):

"loader": {
    "cache": true
},
Run Code Online (Sandbox Code Playgroud)

然后运行sencha app refresh,以便更新应用程序bootstrap.json.

或者,可以配置Ext.Loader(在运行时):

Ext.Loader.setConfig({disableCaching: false});
Run Code Online (Sandbox Code Playgroud)

当向上滚动并阅读实际问题时,有关Ext.Ajax(按要求):

Ext.Ajax.request({url: '/ConnViewProcessing', disableCaching: false});
Run Code Online (Sandbox Code Playgroud)

结果:脚本请求上没有更多_dc参数.

@see Sencha Cmd 6.x - Microloader.


Rob*_*ins 10

请注意,Ext.Loader的使用在ExtJS 5中已更改.

在ExtJS 5中,可以禁用缓存:

  • 暂时通过?cache在URL的末尾添加" "
  • 通过设置一个名为'ext-cache'的cookie,其值为1
  • 或者通过编辑文件.sencha/app/Boot.js并将'_config.disableCaching'属性设置为true(覆盖动态查找).


小智 8

我正在使用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'
            }

    }
});
Run Code Online (Sandbox Code Playgroud)

我的代码说Ext4的原因.是因为我使用沙箱模式,因为我将旧的Ext JS 3x代码移动到4.2


Nig*_*ier 7

这应该适用于extjs 4.0.7:

Ext.Loader.config.disableCaching = false;
Run Code Online (Sandbox Code Playgroud)