小编典典

在Ajax中成功后如何在不重新加载页面的情况下更改url

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);

    }

  })

})

这可行,但是我希望更改URL,因为我在那里有很多参数,当然还有该data: "urut="+$(".urut").val(),参数。


阅读 219

收藏
2020-07-26

共1个答案

小编典典

您可以对成功的动作执行此操作:

window.history.pushState("object or string", "Title", "/new-url");

有关基本操作方法,请参见这篇文章,以在不重新加载页面的情况下修改URL。

附加说明:

  1. 第一个参数是网页状态更改时(例如,每当有人在浏览器中按下后退或前进按钮时)所需的数据。请注意,在Firefox中,此数据限制为640k个字符。
  2. title是第二个参数,可以是字符串,但是在撰写本文时,每个浏览器都将其忽略。
  3. 最后一个参数是我们要显示在地址栏中的URL。

现在,在大多数“现代”浏览器中都可以使用它。

2020-07-26