2015-06-22 15 views
6

Konfiguruję podstawowy adres API interfejsu API w pliku Main.js z parametrem zapytania "advertiserId". Chciałbym usunąć parametr zapytania advertiserId w Demo.js. Uwaga Nie chcę używać parametrów wyszukiwania $location (ponieważ są to parametry wyszukiwania z bieżącego adresu URL okna, a nie z adresu URL, który skonstruowałem).AngularJS: Restangular - Jak usunąć parametr zapytania z adresu URL

Main.js:

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

Demo.js

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

Odpowiedz

0

można zanalizować dowolnego adresu URL z tym:

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" 

EDIT: Aby usunąć wszystko po (a tym) ? możesz użyć tego:

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

Dzięki Michelem. Czy istnieje sposób na usunięcie parser.search z adresu URL? – Inaccessible

+0

Edytowałem odpowiedź –

1

Nie można również po prostu zresetować wartości domyślne do pustego obiektu w Demo.js?

Restangular.SetDefaultRequestParams({}); 

Zgaduję, że Restangular, którego używasz w Demo.js, jest nowo utworzoną instancją z usługi Restangular Service?