location.reload()和location.replace()的区别与应用
语法
首先介绍这两个方法的语法
1.reload()
: 强迫浏览器刷新当前页面
语法: location.reload([bForceGet])
参数:bForceGet
, 可选参数,默认为false
从客户端缓存中获取当前页面。true
,则以GET
方式,从服务端获取最新的页面,相当于客户端点击F5
(“刷新”)
2.replace()
: 通过指定URL
替换当前缓存历史(客户端)的项目,因此当使用replace
方法后,不能再使用“前进” “后退”来访问已经被替换的URL
语法: location.replace(URL)
参数:URL
指定的页面URL
在实际应用的时候,重新刷新页面的时候,我们通常使用: location.reload() 或者是 history.go(0) 来做。因为这种做法就像是客户端点F5刷新页面,所以页面的method="post"的时候,会出现“网页过期”的提示。那是因为Session的安全保护机制。可以想到: 当调用 location.reload() 方法的时候, aspx页面此时在服务端内存里已经存在, 因此必定是 IsPostback