Как изменить URL-адрес после успеха в ajax без перезагрузки страницы
Это ajax
$(".urut").change(function() {
$.ajax({
url: "<?php echo base_url(); ?>categories/brand/<?= $link_brand; ?>?l=<?= $l; ?>&h=<?= $h; ?>&city=<?= $city; ?>&city_name=<?= $city_name; ?>&ket=view",
type: "POST",
data: "urut=" + $(".urut").val(),
success: function(data) {
$("#result").html(data);
}
})
})
Ответы
Ответ 1
Теперь вы можете сделать это в большинстве "современных" браузеров!
вы можете сделать это для своего действия:
window.history.pushState("object or string", "Title", "/new-url");
См. Этот пост для изменения URL-адреса без перезагрузки страницы для основного руководства.
Дополнительное примечание:
- Первый параметр - это данные, которые нам понадобятся, если состояние веб-страницы изменяется, например, когда кто-то нажимает кнопку "Назад" или "Перемотка" в своем браузере. Обратите внимание, что в Firefox эти данные ограничены 640 тыс. Символов.
- title - это второй параметр, который может быть строкой, но во время написания каждый браузер просто игнорирует его.
- Этот конечный параметр - это URL-адрес, который мы хотим отобразить в адресной строке.
Ответ 2
Используйте историю браузера, чтобы изменить строку url в JS.
history.pushState()
history.replaceState()
https://developer.mozilla.org/en-US/docs/Web/API/History_API
Ответ 3
попробуй это
$(".urut").change(function() {
$.ajax({
url: "<?php echo base_url(); ?>categories/brand/<?= $link_brand; ?>?l=<?= $l; ?>&h=<?= $h; ?>&city=<?= $city; ?>&city_name=<?= $city_name; ?>&ket=view",
type: "POST",
data: "urut=" + $(".urut").val(),
success: function(data) {
$("#result").html(data);
window.history.pushState("Details", "Title", "<?php echo base_url(); ?>/yourNewPage");
}
});
});