代码之家  ›  专栏  ›  技术社区  ›  Mark Kadlec

为什么我不能向window.location添加参数?

  •  0
  • Mark Kadlec  · 技术社区  · 11 年前

    使用Javascript,我正在尝试重新加载页面并在执行此操作之前添加一个参数。我添加了警报以调试参数未传递到服务器的原因:

        alert('before: ' + window.location.href);
        window.location.href = window.location.href + "?advanced_expand=true";
        alert('after: ' + window.location.href);
        window.location.reload();
    

    令我困惑的是,第一个警报是:

    之前: http://localhost:3000/orgconf/quick_org_benefit/edit/784

    第二个是:

    之后: http://localhost:3000/orgconf/quick_org_benefit/edit/784

    没有 添加的参数。。。给什么?

    1 回复  |  直到 11 年前
        1
  •  2
  •   Mike Cluck    11 年前

    执行 window.location.reload() 事后是没有意义的,因为设置 window.location.href 更改页面。 同样地 窗口.location.href 在页面更改之前不会发生实际更改。这就是为什么您没有看到URL更改的原因。

    如果页面正在重新加载 没有更改,请确保URL重写没有删除 ? .