z $ location.search (): jak usunąć parametr z adresu URL, gdy jest on pusty
$location.search()
ustawić adres URL
parametr wyszukiwania, który jest przekazywany dosearch()
jest ustawiany przez formularz. zaznaczenie i odznaczenie elementu powoduje, że niektóre parametry mają wartość „null”, więc adres URL wygląda tak:
myapp.com/search?type=text¶meter=null
więc chciałbym usunąć te „puste” parametry z adresu URL. W dokumentacji znajduje się „paramValue”, którą można przekazać jako drugie parametry do .search (szukaj, paramValue):Jeśli wartość wynosinull
, parametr zostanie usunięty.
ale nie mogę sprawić, żeby ta praca… jakaś sugestia?
edytować: oto rozwiązanie oparte na wyjaśnieniach @BKM
aby usunąć wszystkie parametry, które sąnull
, konieczne jest przejrzenie ich wszystkich i przetestowanie każdego z nich, tak jak poniżej:
for (var i in search) {
if (!search[i]) $location.search(i, null);
}
$location.search(search);