Jquery 跟踪浏览器的刷新

Jquery 跟踪浏览器的刷新,jquery,ajax,asp.net-mvc,asp.net-mvc-4,Jquery,Ajax,Asp.net Mvc,Asp.net Mvc 4,我有一个使用MVC构建的web应用程序。现在,在加载一个页面之后,每个内部活动都使用jQueryAjax数据加载完成。因此,我使用ajax在同一容器中再次填充数据。现在,如果用户想点击浏览器的刷新按钮,我想加载和上次ajax调用加载的数据相同的数据。不是使用浏览器URL中提到的URL刷新整个页面(因为将返回的数据是第一次加载页面时加载的数据)。 是否可以使用javascript、jquery或任何服务器端方法进行任何操作? 我正在应用程序中使用.NET MVC 4.0。以下是可能的解决方案 HT

我有一个使用MVC构建的web应用程序。现在,在加载一个页面之后,每个内部活动都使用jQueryAjax数据加载完成。因此,我使用ajax在同一容器中再次填充数据。现在,如果用户想点击浏览器的刷新按钮,我想加载和上次ajax调用加载的数据相同的数据。不是使用浏览器URL中提到的URL刷新整个页面(因为将返回的数据是第一次加载页面时加载的数据)。 是否可以使用javascript、jquery或任何服务器端方法进行任何操作?
我正在应用程序中使用.NET MVC 4.0。

以下是可能的解决方案

  • HTML5引入了history.pushState()和history.popState()-
  • 可以使用Jquery插件-
  • 在Javascript中手动保存每个页面/ajax调用的状态,并在页面上使用相同的状态 加载,这需要更多的努力才能完成

  • 您需要保持页面的当前状态/视图。保存上次AJAX调用(即上次调用的URL)或已加载数据的一些内部描述。每次更改时保存此项。您可以使用客户端浏览器的
    会话存储
    。在页面加载时,您可以检查当前页面是否保存了任何数据;如果是这样,只需根据您保存的描述获取数据。如果我请求任何其他新URL,那么也将获取以前的会话存储数据,从而将错误的数据返回到浏览器。您能否告诉我如何使用pushState()或popState()?您需要将每个ajax调用的URL/状态推送到历史API。有关示例代码,请参考这些(&C)。如果您需要与您的应用程序相关的任何特定帮助,请提供代码的更多详细信息。你可以接受我的回答,我对名誉很贪婪;)