EXT JS - 如何从请求中获取_dc参数?

时间:2016-10-28 00:54:10

标签: javascript extjs authorization restful-authentication extjs6

感谢您的帮助!

我尝试连接到RESTfull Web服务,该服务使用完整的URL将Autorization令牌编码回服务器。 然后,服务器将它收到的que URL与请求中发送的URL进行比较。

但是我无法从请求中获取_dc参数! 知道怎么做吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我查看了源代码,看起来_dc param只是Ext.Date.now()

if (me.getNoCache()) {
    url = Ext.urlAppend(url, Ext.String.format("{0}={1}", me.getCacheString(), Ext.Date.now()));
}

获得它的一种方法是覆盖buildUrl()方法。例如:

init: function () {
    Ext.define('Override.Ext.data.proxy.Server', {
        override: 'Ext.data.proxy.Server',

        buildUrl: function (request) {
            var me = this,
                url = me.getUrl(request);

            //<debug>
            if (!url) {
                Ext.raise("You are using a ServerProxy but have not supplied it with a url.");
            }
            //</debug>

            var dc = Ext.Date.now();

            if (me.getNoCache()) {

                url = Ext.urlAppend(url, Ext.String.format("{0}={1}", me.getCacheString(), dc));
            }

            // do something with dc here

            return url;
        }
    });
}

(这将放在你的Application.js中)

另一种更简单的方法,但我不知道它是否适用于您的情况,只需通过将noCache: false放入商店代理配置中来禁用_dc参数。

希望它会有所帮助!