如何使用JavaScript刷新页面?
当前回答
window.location.reload()将从服务器重新加载,并将再次加载所有数据、脚本、图像等。
因此,如果您只想刷新HTML,window.location=document.URL将返回得更快,流量更少。但如果URL中有散列(#),则不会重新加载页面。
其他回答
这里所有的答案都很好。由于问题指定了如何使用jquery重新加载页面,我只是想为未来的读者添加更多内容。
jQuery是一个跨平台JavaScript库,旨在简化HTML的客户端脚本。~维基百科~
因此,您将了解jquery或jquery的基础是基于javascript的。因此,在简单的事情上,使用纯javascript要好得多。
但如果您需要jquery解决方案,这里有一个。
$(location).attr('href', '');
如果当前页面是通过POST请求加载的,您可能需要使用
window.location = window.location.pathname;
而不是
window.location.reload();
因为如果在POST请求加载的页面上调用window.location.reload()将提示确认。
要使用jQuery重新加载页面,请执行以下操作:
$.ajax({
url: "",
context: document.body,
success: function(s,x){
$(this).html(s);
}
});
这里我使用的方法是Ajax jQuery。我在Chrome 13上测试了它。然后我将代码放入将触发重载的处理程序中。URL为“”,表示此页面。
编辑:不幸的是,我必须很快记下这个答案,因为问题已经改变,用户似乎不太清楚他们在问什么。一些用户评论说,刷新与重新加载页面不同;查看此问题的修订[https://stackoverflow.com/posts/5404839/revisions]据我所知,最初的问题是用AJAX刷新页面,这是ASYNCHRONOUS。。。,刷新页面应该意味着向页面获取新的和更新的内容。无论如何,这个答案很快就会消失/
由于问题是一般性的,让我们尝试总结出答案的可能解决方案:
简单的纯JavaScript解决方案:
最简单的方法是以适当的方式放置单线解决方案:
location.reload();
很多人在这里缺少的是,因为他们希望得到一些“点”,reload()函数本身提供了一个布尔值作为参数(详细信息:https://developer.mozilla.org/en-US/docs/Web/API/Location/reload).
Location.reload()方法从当前网址。它的可选唯一参数是布尔值true,导致页面始终从服务器重新加载。如果是的话如果为false或未指定,则浏览器可以从隐藏物
这意味着有两种方式:
解决方案1:强制从服务器重新加载当前页面
location.reload(true);
解决方案2:从缓存或服务器重新加载(基于浏览器和配置)
location.reload(false);
location.reload();
如果你想将它与jQuery结合起来监听事件,我建议使用“.on()”方法而不是“.click”或其他事件包装器,例如,更合适的解决方案是:
$('#reloadIt').on('eventXyZ', function() {
location.reload(true);
});
window.location.reload()将从服务器重新加载,并将再次加载所有数据、脚本、图像等。
因此,如果您只想刷新HTML,window.location=document.URL将返回得更快,流量更少。但如果URL中有散列(#),则不会重新加载页面。