使用 location.href 或 window.location.reload(true) 重新加载页面
Reload a page with location.href or window.location.reload(true)
我需要在 ajax 调用成功后重新加载页面。
我看到了一些代码(不是我的),有两种方法:
success: function(obj) {
//code
location.href = location.href;
}
或
success: function(obj) {
//code
window.location.reload(true);
}
行为有什么不同吗?我知道 location
和 window.location
的区别,但在工作方面?
主要区别如下:
window.location.reload() reloads the current page with POST
data, while window.location.href='your url' does not include the POST
data.
此外,window.location.reload(true)
方法从服务器重新加载页面。并且浏览器会跳过缓存。
例如,我看到您正在使用来自 AJAX
请求的 success
函数。
假设您有以下方法:
[OutputCache(Duration=600)]
public ActionResult Homepage(){
//code here
return View();
}
如果您使用 window.location.href="location_URL"
,则浏览器缓存数据 600
秒,即 10 分钟。
另一方面,如果您使用 window.location.reload(true)
,那么浏览器将跳过缓存,然后从服务器重新加载页面。
我需要在 ajax 调用成功后重新加载页面。
我看到了一些代码(不是我的),有两种方法:
success: function(obj) {
//code
location.href = location.href;
}
或
success: function(obj) {
//code
window.location.reload(true);
}
行为有什么不同吗?我知道 location
和 window.location
的区别,但在工作方面?
主要区别如下:
window.location.reload() reloads the current page with
POST
data, while window.location.href='your url' does not include thePOST
data.
此外,window.location.reload(true)
方法从服务器重新加载页面。并且浏览器会跳过缓存。
例如,我看到您正在使用来自 AJAX
请求的 success
函数。
假设您有以下方法:
[OutputCache(Duration=600)]
public ActionResult Homepage(){
//code here
return View();
}
如果您使用 window.location.href="location_URL"
,则浏览器缓存数据 600
秒,即 10 分钟。
另一方面,如果您使用 window.location.reload(true)
,那么浏览器将跳过缓存,然后从服务器重新加载页面。