subgrid中的jqGrid更新行不刷新缓存

时间:2013-04-30 14:49:21

标签: ajax caching jqgrid subgrid

我有一个使用subGridRowExpanded的jqGrid子网格。对于每个网格行,子网格包含7行。最初,当展开网格行时,子网格使用ajax检索7行数据。如果我更新子网格中的7行之一并单击save,我使用ajax将所有7行保存到服务器,并使用editRow将7行保存到子网格。

这是问题所在。如果我关闭此子网格并再次重新打开它,则子网格中的7行将填充原始加载中的数据而不进行任何更改。解决这个问题的唯一方法是在ajax调用中设置cache:false。

当我使用editRow(key:true)将行更新为saveRow()而不是通过关闭缓存再次返回服务器时,有没有办法更新缓存?

感谢。

1 个答案:

答案 0 :(得分:0)

不能只是“更新Web浏览器的缓存”。而不是服务器应该包含在管理缓存的HTTP响应头中。如果您希望从服务器获取每个Ajax请求,则应包含在服务器响应中。例如,我几乎总是包括以下标题

Cache-Control: private, max-age=0

在为网格提供数据的服务器的响应中。 The answer显示了如何在ASP.NET中设置此类标头。

Here您可以阅读有关用于缓存数据的HTTP标头的更多信息。 The answerthe previously referenced一起提供了一些与jqGrid和jQuery.ajax结合使用的有趣细节。