Я использую history.pushState, чтобы добавить несколько параметров к текущему URL-адресу страницы после вызова AJAX на моей странице. Теперь на той же странице, основанной на действии пользователя, я хочу снова обновить URL страницы с помощью того же или дополнительного набора параметров. Поэтому мой код выглядит так:
var pageUrl = window.location.href + "?" + queryString;
window.history.pushState('','',pageUrl);
queryString - это мой список параметров запроса.
- Например, URL моей страницы по умолчанию: http://sample.com/
- После первого вызова AJAX на той же странице URL-адрес должен быть: http://sample.com?param1=foo¶m2=bar
- После второго вызова AJAX на той же странице URL-адрес может быть: http://sample.com/?param1=foo,foo1¶m2=bar¶m3=another_foo
Но с приведенным выше кодом мои параметры добавляются к URL с параметрами, и они выглядят ниже после второго вызова AJAX:
http://sample.com?param1=foo¶m2=bar¶m1=foo,foo1¶m2=bar¶m3=another_foo
Итак, параметры появляются дважды в URL-адресе, есть ли способ заменить параметры в URL-адресе, прежде чем нажимать на "История" или любой другой лучший способ достичь этого в javascript (jquery)?