С $location.search(): как удалить параметр из URL-адреса, когда он равен нулю
$location.search()
, чтобы установить URL
параметр поиска, который передается в search()
, задается формой. выбор и отмена выбора элемента вызывает некоторое значение параметра "null", поэтому URL-адрес выглядит следующим образом:
myapp.com/search?type=text¶meter=null
поэтому я хотел бы удалить эти "нулевые" параметры из url. В документации есть "paramValue", который может передаваться как второй параметр в .search(search, paramValue): если значение null
, параметр будет удален.
но я не могу сделать эту работу... любое предложение?
edit:. Это решение, основанное на объяснении @BKM.
чтобы удалить все параметры, которые являются null
, необходимо пройти через все из них и протестировать каждый из них следующим образом:
for (var i in search) {
if (!search[i]) $location.search(i, null);
}
$location.search(search);
Ответы
Ответ 1
Используя службу $location
, вы можете удалить параметр поиска, присвоив ему нулевое значение:
В случае, когда ваш параметр равен нулю, в вашем случае 'parameter'
вы можете удалить его из URL-адреса, присвоив ему нулевое значение, например:
$location.search('parameter', null);
Надеюсь, что это поможет.
Ответ 2
Вы можете использовать $location.search({})
, чтобы очистить все сразу.
Ответ 3
Вы также можете сделать:
var search = $location.search();
if (search.parameter == 'null') {
$location.search({'parameter': null});
}