成功重命名事件后刷新jstree(可能是WCF和/或缓存问题?)

成功重命名事件后刷新jstree(可能是WCF和/或缓存问题?),wcf,json,jquery,jstree,Wcf,Json,Jquery,Jstree,我有一个jstree,它使用JSON通过WCF服务从数据库加载数据 我设法将jstree的重命名上下文菜单项设置为“work”,意思是:我将ajax调用绑定到jstree重命名事件,因此当用户重命名节点时,它会告诉WCF方法更新数据库(以“保存”新名称) 问题:如果我转到另一个页面,然后稍后再返回,则节点已恢复为旧名称 在jstree、浏览器或WCF中,似乎正在进行某种缓存,但不知何故树没有被刷新 数据通过JSON上的WCF服务方法来自数据库。当您第一次访问页面时,将加载数据。但当您返回页面时,

我有一个
jstree
,它使用JSON通过WCF服务从数据库加载数据

我设法将jstree的重命名上下文菜单项设置为“work”,意思是:我将ajax调用绑定到jstree重命名事件,因此当用户重命名节点时,它会告诉WCF方法更新数据库(以“保存”新名称)

问题:如果我转到另一个页面,然后稍后再返回,则节点已恢复为旧名称

在jstree、浏览器或WCF中,似乎正在进行某种缓存,但不知何故树没有被刷新

数据通过JSON上的WCF服务方法来自数据库。当您第一次访问页面时,将加载数据。但当您返回页面时,情况并非如此:服务器端加载方法中的断点永远不会被命中。在我看来,可能是:

  • jstree缓存了数据,不再尝试再次加载(但为什么不保持重命名状态?)

  • jstree请求服务,但WCF只是从缓存中再次提供相同的数据,而不是实际运行服务方法

  • 浏览器正在缓存请求并将相同的结果返回给jstree,而不调用WCF方法

有什么想法吗?如何检查此项?

因为您不确定是否存在缓存问题,我建议您在WCF方法中包含以下行(例如,作为方法正文中的第一行),该方法是从
jstree
调用的:

它将继续下去。因此,可能也会使用web浏览器或代理,如果不在服务器上重新验证(调用相同的WCF方法),则不会使用缓存的数据版本。你也可以考虑使用其他的.< /P>
WebOperationContext.Current.OutgoingResponse.Headers.Set (
    HttpResponseHeader.CacheControl,
    "max-age=0");