我想单击按钮来更改用户状态,所以我要做的就是检测当前状态并根据需要进行更改。

但是在这种情况下,更改后端的状态,但是要显示状态,页面需要刷新,因为刷新时它会检查当前状态并显示。因此,我正在使用“window.location.reload”属性在页面上显示最新状态。

IE中所有的东西都工作正常。但是对于Firefox和Chrome,状态不会改变。我认为“window.location.reload”不起作用,因为当我只注释此行并尝试单击按钮并手动刷新页面时,它会显示更改状态。

您能否建议在Firefox和Chrome浏览器中使用该工具应该做什么?

当我用Google搜索时,如果在“setTimeout()”中输入它,我发现它可以在Firefox和Chrome中运行。我尝试过,但即使那样对我也不起作用。

<script>

    $(document.body).on('click', '#activate', function () {
        var pkgVersion = $(this).attr('data-version');
        alert("@Url.Action("SetActivePackage", "Deployment")", { version: pkgVersion });
        $.get("@Url.Action("SetActivePackage", "Deployment")", { version: pkgVersion }).done(function () {

        });
         setTimeout(function () { window.location.reload(data); }, 0);
    });
</script>

请提出建议!

最佳答案

我还有两个选择供您选择:

history.go(0);

和:
window.location.href = window.location.href;

我尚未在Firefox和Chrome上对其进行测试,但它可能会帮助您更快。明天我将进行测试并更新答案(如果这不起作用)。

关于javascript - window.location.reload对Firefox和Chrome不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18967532/

10-11 23:58