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

问题描述:

我使用查询参数“advertiserId”在Main.js中设置API基础网址。我想在Demo.js中删除查询参数advertiserId。注意我不想使用$location搜索参数(因为这些是从当前窗口URL搜索参数而不是我构建的URL)。AngularJS:Restangular - 如何从网址中删除查询参数

Main.js:

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

Demo.js

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

您可以分析任何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]; 
+0

谢谢Michelem。有什么办法从URL中删除parser.search? – Inaccessible

+0

我编辑了答案 –

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

Restangular.SetDefaultRequestParams({}); 

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