2015-06-22 73 views
6

我使用查詢參數「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 
}); 

回答

0

您可以分析任何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

我編輯了答案 –

1

難道你不能也只是將默認值重置爲Demo.js中的空對象?

Restangular.SetDefaultRequestParams({}); 

我猜你在Demo.js中使用的Restangular是來自Restangular Service的新創建的實例嗎?

相關問題