【问题标题】:How to get last part of URL, ignoring any GET parameters?如何获取 URL 的最后一部分,忽略任何 GET 参数?
【发布时间】:2015-11-08 21:06:58
【问题描述】:

我希望这里有以下网址:

/user/username

但最终用户也可以添加他们想要的任何获取参数,如下所示:

/user/username?foo=bar

话虽如此,使用 AngularJS,我最好的方法是只获得username(出现在/user/ 之后),之后没有其他任何东西?

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    您应该使用$location 服务及其.path() 方法,然后使用常规split() 和索引。

    【讨论】:

      【解决方案2】:

      我怀疑它是否有专门的功能,但使用查询将其从字符串中提取出来似乎很容易。 使用 $location.path() 获取路径,然后这两个都可以为您完成工作。

      url.substring(6, (url.indexOf('?') != -1 ? url.indexOf('?') : url.length))
      
      url.split('/')[2].split('?')[0]
      

      同样的问题:Is there a built-in way to get the current URL without any query parameters?

      【讨论】:

      • $location.path() 不返回搜索参数,无需处理?
      【解决方案3】:

      您可以使用 window.location 或 $location 服务获取路径,然后使用拆分功能 像这样

      var url = "/user/username?foo=bar";
      var check = url.split('/user/');
      var username = check[1].split('?');
      console.log(username[0]);
      

      您可以通过在您的网址上应用多个拆分来查找用户名。希望这是你想要的。

      【讨论】:

      • 您想提供帮助很好,但请避免重复已经存在的答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-24
      • 1970-01-01
      • 2013-06-14
      • 2011-11-15
      • 2013-11-01
      • 2019-10-17
      相关资源
      最近更新 更多