Я пытаюсь перезагрузить страницу по щелчку переключателей (список городов), указав значение переключателей в качестве параметров запроса в URL. Предположим, мой текущий URL-адрес
http://localhost:3001/offers?category=Dining&sub_categories=Home%20Delivery&city=
И при выборе любой радиокнопки я хочу, чтобы ее значение было добавлено к параметру city
в URL.
Таким образом, желаемый URL должен быть
http://localhost:3001/offers?category=Dining&sub_categories=Home%20Delivery&city=Mumbai
Но проблема в том, что при изменении URL-адреса sub_categories
автоматически удаляется, и последний URL-адрес, который я получаю, таков:
http://localhost:3001/offers?category=Dining&city=Mumbai
Вот мой код для управления URL:
$(document).on('click', '.city-selector' ,function(event) {
event.preventDefault() ;
var city_name = this.labels[0].textContent.trim().split("(")[0].trim() ;
var location_string = window.location['href'].split('?');
if(location_string.length > 1 && location_string[1].indexOf("city") > -1){
var all_params = location_string[1].split("&") ;
all_params.splice(all_params.indexOf("city=" + gon.selected_city), 1) ;
all_params.splice(all_params.indexOf("localities=" + gon.selected_localities), 1) ;
gon.selected_localities = '' ;
location_string[1] = all_params.join("&") ;
location_string[1] = location_string[1] + "&city=" + city_name ;
window.location.href = location_string[0] + "?" +location_string[1] ;
}
}) ;
СОВЕТ : проблема заключается в очереди
location_string = window.location['href'].split('?');
Когда я регистрирую массив location_string
, он не содержит параметр sub_categories
.
Но ты уверен, какая вещь срывает это.