如何在从浏览缓存加载页面时执行javascript
how to execute javascript when page is loaded from browse cache?
在我的spring项目中,我使用下面的拦截器解决了后退按钮问题。
public class SampleInterceptor implements HandlerInterceptor
{
public SampleInterceptor() {
}
@Override
public void afterCompletion(HttpServletRequest arg0,
HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response,
Object object, ModelAndView model) throws Exception {
if(request.getMethod().equals("GET"))
{
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0);
}
else if(request.getMethod().equals("POST"))
{
System.out.println("After post request : ");
}
}
}
我已经清除了除帖子外的所有请求的浏览器缓存。现在用户注销并点击返回,它不会只进入应用程序进行get请求。但发布请求后,它会进入应用程序。我如何避免发布请求中的问题。如果我清除了用于发布请求的浏览器缓存,它会询问确认表单提交。如何解决此问题?任何帮助都将不胜感激!!
使用AJAX代替表单提交可以避免这种情况。使用AJAX POST提交您的请求。
此外,请参阅以下网址以了解更多详细信息:1.防止后退按钮显示POST确认警报
- http://en.wikipedia.org/wiki/Post/Redirect/Get
谢谢!!!
Post总是要求提交表单。
使用AJAX发布您的数据,然后在收到回复时重定向,或者提交构建get请求的数据。
请注意,当一个人返回更新或插入数据的页面时。数据会重新发布到服务器,并可能导致重复插入/更新。如果你打算的话,一定要处理这样的情况。
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- 在Safari执行javascript之前对其进行修改
- 如何在执行此特定onclick事件时执行JavaScript函数
- 如何在从浏览缓存加载页面时执行javascript
- 使用Rhino和ASE执行Javascript的区别
- 如何在加载完整页面后严格执行javascript代码
- 在动态加载的对话框中执行Javascript
- 在Sinatra中执行Javascript
- 通过AJAX加载页面并执行javascript和CSS
- 适用于多种浏览器的Selenium-需要能够执行javascript的webDriver
- 如何在seleniumwebdriver中执行javascript提示并等待接受输入
- 在window.open()生成的窗口中执行JavaScript
- AJAX成功回调-执行javascript时出现问题
- 通过指令在控制器中执行javascript函数
- 从React Native Android原生地执行JavaScript代码
- iframe未执行Javascript方法(PHP)
- 执行JavaScript代码,使用selenium webdriver或WatiN从控制台获取日志
- 通过web驱动程序异步执行Javascript
- 如何在长时间执行JavaScript期间显示微调器
- 点击困难时执行javascript函数