如何使用JavaScript刷新页面?


当前回答

$(document).on("click", "#refresh_btn", function(event) 
{
     window.location.replace(window.location.href);
});

其他回答

由于问题是一般性的,让我们尝试总结出答案的可能解决方案:

简单的纯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);
});
<i id="refresh" class="fa fa-refresh" aria-hidden="true"></i>

<script>
$(document).on('click','#refresh',function(){
   location.reload(true);
});
</script>

您可以使用JavaScript location.reload()方法。此方法接受布尔参数。正确或错误。如果参数为真;页面总是从服务器重新加载。如果是假的;这是默认设置,或者使用空参数浏览器从其缓存中重新加载页面。

带真参数

<button type="button" onclick="location.reload(true);">Reload page</button>

带默认/假参数

 <button type="button" onclick="location.reload();">Reload page</button>

使用jquery

<button id="Reloadpage">Reload page</button>
<script type="text/javascript">
    $('#Reloadpage').click(function() {
        location.reload();
    }); 
</script>

如果当前页面是通过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。。。,刷新页面应该意味着向页面获取新的和更新的内容。无论如何,这个答案很快就会消失/