AngularJS:Restangular-如何从URL中删除查询参数

AngularJS: Restangular - How to remove query param from URL

本文关键字:删除 查询 参数 URL Restangular- AngularJS      更新时间:2023-09-26

我使用查询参数"advertiserId"在Main.js中设置API基本url。我想删除Demo.js中的查询参数advertiserId。注意,我不想使用$location搜索参数(因为这些是来自当前窗口URL的搜索参数,而不是我构建的URL)。

Main.js:

  Restangular.setBaseUrl("localhost:9000/advertisers");
  Restangular.setDefaultRequestParams({
    "advertiserId": advertiserID
  });

Demo.js

 Restangular.RemoveRequestParams({
    "advertiserId": advertiserID
 });

难道不能在Demo.js中将默认值重置为空对象吗?

Restangular.SetDefaultRequestParams({});

我猜您在Demo.js中使用的Restangular是Restangular Service新创建的实例?

您可以使用以下内容解析任何url:

var parser = document.createElement('a');
parser.href = "http://example.com:3000/pathname/?search=test#hash";
parser.protocol; // => "http:"
parser.hostname; // => "example.com"
parser.port;     // => "3000"
parser.pathname; // => "/pathname/"
parser.search;   // => "?search=test"
parser.hash;     // => "#hash"
parser.host;     // => "example.com:3000"

编辑:要删除?之后(包括)的所有内容,您可以使用以下方法:

url.split("?")[0];