如何在没有页面重新加载的情况下在ajax中成功更改URL

这是ajax

$(".urut").change(function() { $.ajax({ url: "categories/brand/?l=&h=&city=&city_name=&ket=view", type: "POST", data: "urut=" + $(".urut").val(), success: function(data) { $("#result").html(data); } }) }) 

这是有效的,但我想要更改url,因为我有很多参数,当然还有data: "urut="+$(".urut").val(),参数也是如此。

您现在可以在大多数“现代”浏览器中执行此操作!

你可以为你的成功行动做到这一点:

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

请参阅此文章以修改URL而无需重新加载页面以获取基本操作方法。

附加说明:

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

使用浏览器历史记录更改JS中的url栏。

  history.pushState() history.replaceState() 

https://developer.mozilla.org/en-US/docs/Web/API/History_API

试试这个

 $(".urut").change(function() { $.ajax({ url: "categories/brand/?l=&h=&city=&city_name=&ket=view", type: "POST", data: "urut=" + $(".urut").val(), success: function(data) { $("#result").html(data); window.history.pushState("Details", "Title", "/yourNewPage"); } }); 

});