Я хочу добавить параметр в url. Здесь проблема в том, что когда я нажимаю тег, history.pushState работает, но после удаления параметра. Во-первых, history.pushState меняется на /general-info-21,2231-44,333 после смены URL на /general-info. Как я могу решить?
HTML
<ul>
<li><a href = "/general-info" data-desc = "general-info" onclick = "dataInfo($event)">General Info</a></li>
</ul>
JS
function dataInfo($event){
var desc = $($event.target).attr("data-desc");
lat = "21,2231";
lng = "44,333";
history.pushState(null, null, desc + "-" + lat + "-" + lng);
}



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я просто изложил здесь возможные решения.
Способ 1. Вы можете отключить поведение тега a по умолчанию, используя $event.preventDefault(); в вашем обработчике.
Способ 2. Вы можете установить href = "#" вместо href = "/general-info", и он не переведет вас на другой маршрут
Я должен использовать первый способ для SEO. Спасибо.
Хороший выбор. Рад помочь!
Возможно, это происходит, потому что тег
aделает то, что должен. В своей функции вы можете попытаться отключить поведение по умолчанию, используя$event.preventDefault();в верхней части обработчика.