Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用AJAX for SPA将浏览器页面缓存挂接到浏览器历史记录_Javascript_Jquery_Ajax_Html_Browser - Fatal编程技术网

Javascript 使用AJAX for SPA将浏览器页面缓存挂接到浏览器历史记录

Javascript 使用AJAX for SPA将浏览器页面缓存挂接到浏览器历史记录,javascript,jquery,ajax,html,browser,Javascript,Jquery,Ajax,Html,Browser,我研究了几种使用AJAX将浏览器历史记录(后退和前进按钮)与SPA相结合的解决方案。流行的解决方案是使用HTML5历史API,如history.pushState。 还可以选择使用插件,例如: jQuery地址 jQuery烧烤 尽管上述方法前后运行良好,但它们似乎绕过了浏览器页面缓存。因此,如果我按“上一步”按钮,我可以返回服务器并获取存储在从浏览器历史记录获取的URL中的数据,或者,我可以从浏览器缓存中获取缓存项。 我不确定按下后退或前进按钮后如何从浏览器缓存中获取缓存项(而不是返回服务

我研究了几种使用AJAX将浏览器历史记录(后退和前进按钮)与SPA相结合的解决方案。流行的解决方案是使用HTML5历史API,如history.pushState。

还可以选择使用插件,例如:

  • jQuery地址
  • jQuery烧烤
尽管上述方法前后运行良好,但它们似乎绕过了浏览器页面缓存。因此,如果我按“上一步”按钮,我可以返回服务器并获取存储在从浏览器历史记录获取的URL中的数据,或者,我可以从浏览器缓存中获取缓存项。


我不确定按下后退或前进按钮后如何从浏览器缓存中获取缓存项(而不是返回服务器)。

当您在按下后退按钮时执行ajax请求以获取内容时,如果为要缓存的页面设置了缓存头,则浏览器将返回缓存版本。另一个选择是自己缓存它,类似于jQM的缓存方式(这可能更一致)。我使用的是Django,我的视图没有@never\u缓存。你认为我需要显式设置缓存控制头吗?