我需要在ajax调用成功时重新加载页面。
我看到了一些代码(不是我的代码),有两种方式:
success : function(obj) {
//code
location.href = location.href;
}
或
success : function(obj) {
//code
window.location.reload(true);
}
行为有什么不同吗?我知道位置和window.location的区别,但在工作方面呢?
答案 0 :(得分:13)
主要区别如下:
window.location.reload()使用
POST
数据重新加载当前页面,而window.location.href ='您的网址'不包含POST
数据。
此外,window.location.reload(true)
方法从服务器重新加载页面。浏览器将跳过缓存。
例如,我发现您正在使用success
请求中的AJAX
函数。
假设您有以下方法:
[OutputCache(Duration=600)]
public ActionResult Homepage(){
//code here
return View();
}
如果您使用window.location.href="location_URL"
,则浏览器缓存数据600
秒,即10分钟。
另一方面,如果您使用window.location.reload(true)
,则浏览器将跳过缓存,然后从服务器重新加载页面。