ExtJS 4:如何在用户注销时销毁所有状态

时间:2012-02-21 03:44:35

标签: cookies extjs4 state

我已将我的应用设置为使用此代码的状态:

Ext.state.Manager.setProvider(new Ext.state.CookieProvider());

但现在我遇到了问题。如何销毁所有州饼干?

当用户点击退出按钮时,我的应用需要销毁状态。

我试过这个,但它不起作用:

Ext.state.Manager.clear();

如何解决这个问题?非常感谢你。

3 个答案:

答案 0 :(得分:1)

喜欢这样

//create the CookieProvider and create the state manager;
var cp=new Ext.state.CookieProvider();
Ext.state.Manager.setProvider(cp);

//save some values in the state
Ext.state.Manager.set('a', 1)
Ext.state.Manager.set('b', [1,2,3]);

//show what's inside
console.log(cp, cp.state);

//Here it comes. This is how to clear all states
for (var item in cp.state) {
    Ext.state.Manager.clear(item);
}

答案 1 :(得分:0)

文档说您需要传递令牌的名称才能清除。基本上你只需要清除cookie,你可以尝试清除特定的cookie或尝试你的域可访问的所有cookie。 您可以使用Ext.util.Cookies或任何通用的JavaScript JavaScript处理例程。

请参阅How can I delete all cookies with JavaScript?

答案 2 :(得分:0)

这是一个老问题,但是 - ExtJs 4现在有一个clearAll()方法。

Ext.state.Manager.clearAll();