jstree 3.0.2动态树总是从缓存加载数据而不是对服务器进行新的调用

Che*_*tan 4 ajax caching getjson jstree

我有一个jstree.在页面加载时,jstree从服务器中填充,因为它对服务器进行了新的调用,但之后每当我刷新页面时,它总是从缓存中获取数据而不是调用服务器,因此总是采用旧的要填充的数据.我使用的是jstree 3.0.2版本.以下是在页面加载时生成jstree的代码.

$('#tree').jstree({
'core': {
data:{
'url':'getjstree'   // this is the url which will get the json data from the server
}
}});
Run Code Online (Sandbox Code Playgroud)

我们如何解决这个问题以获得每次调用的新数据,我之前想到的一个解决方案是通过调用硬刷新的javascript代码

location.reload(true);
Run Code Online (Sandbox Code Playgroud)

但这确实刷新了json数据,但进入了递归调用,从而挂起了页面.请帮助我们如何解决这个问题.

And*_*nna 5

JSTree插件使用键"jstree"在浏览器的localStorage中保存树状态.所以在调用jstree之前,你应该从localStorage中删除该键,如下所示:

//Removes jstree cached state from localStorage
localStorage.removeItem('jstree');

$('#tree').jstree({
    'core': {
        data:{
            'url':'getjstree'
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

  • 这与最新版本的jstree @good work #Andre一起使用 (2认同)