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

时间:2015-06-22 05:49:36

标签: javascript angularjs restangular

我在Main.js中使用查询参数“advertiserId”设置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
 });

2 个答案:

答案 0 :(得分:1)

你是否也只是将默认值重置为Demo.js中的空对象?

Restangular.SetDefaultRequestParams({});

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

答案 1 :(得分:0)

你可以解析任何网址:

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];