2015-06-22 12 views
6

Ho impostato l'URL base dell'API in Main.js con query param "advertiserId". Vorrei rimuovere la query param advertiserId in Demo.js. Nota Non voglio usare i parametri di ricerca $location (poiché questi sono parametri di ricerca dall'URL della finestra corrente e non dall'URL che ho costruito).AngularJS: Restangular - Come rimuovere il parametro query dall'URL

main.js:

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

Demo.js

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

risposta

0

è possibile analizzare qualsiasi URL con questo:

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: Per rimuovere tutto ciò che segue (e compreso) il ? è possibile utilizzare questo:

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

Grazie Michelem. C'è un modo per rimuovere parser.search dall'URL? – Inaccessible

+0

Ho modificato la risposta –

1

Non si può semplicemente reimpostare i valori predefiniti su un oggetto vuoto in Demo.js?

Restangular.SetDefaultRequestParams({}); 

Sto indovinando che la Restangular si sta utilizzando in Demo.js è un'istanza appena creata dal Servizio Restangular?

Problemi correlati