如何在按钮单击时删除查询字符串?

时间:2011-09-06 19:04:20

标签: jquery url query-string

如何在点击按钮时删除网址的查询字符串?我的网址看起来像这样:

www.mysite.com/?tx_felogin_pi1 [忘记] = 1

此页面显示获取新密码的表单,所有内容都在overlaybox中。当用户突然再次记住他的用户数据时,我需要在框中提供一个链接以返回到登录表单(也在覆盖框内),但我不能使用修复网址,因为链接(和覆盖框)应该可以在每个页面上访问。所以我需要一个删除查询字符串的链接,以前是独立的网址。

我试过这个,但它不起作用:

    function getPathFromUrl(url) {
      return url.split("?")[0];
    }
    // from http://stackoverflow.com/questions/2540969/remove-querystring-from-url

    $("#querystring").click(getPathFromUrl);

我的控制台中的错误是:url.split不是函数...

4 个答案:

答案 0 :(得分:17)

什么是url?您必须从window.location对象获取网址:

$("#querystring").click(function(){
    window.location.href = window.location.href.split('?')[0];
});

答案 1 :(得分:1)

要获取没有查询字符串的网址,请使用此

function getPathFromUrl() {
  var url = window.location.href; 

  if(url.indexOf("?") != -1)
     url = url.split("?")[0];

  return url;
}

用法

$("#querystring").click(function(){
     alert(getPathFromUrl());//this will alert the url without querystring
});

答案 2 :(得分:0)

$("#querystring").click(function(){
    // you can use url.split("?")[0]; here, however be sure it's in global scope

});

答案 3 :(得分:0)

这将从URL中删除查询字符串。

假设您的网址是:-

http://localhost:4567/projectName/abc.php?id=307

只需将按钮类替换为按钮的类,然后为要删除查询字符串的页面运行此代码。

    $(document).on('click',".button", function(){
    window.location.href = window.location.origin + window.location.pathname;    
    });

运行上述代码后,您的网址将为:- http://localhost:4567/projectName/abc.php