如何在没有页面重新加载的情况下在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而无需重新加载页面以获取基本操作方法。
附加说明:
- 第一个参数是网页状态发生变化时我们需要的数据,例如每当有人按下浏览器中的后退或前进按钮时。 请注意,在Firefox中,此数据限制为640k字符。
- title是第二个可以是字符串的参数,但在撰写本文时,每个浏览器都会忽略它。
- 最后一个参数是我们想要在地址栏中显示的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/= $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", "/yourNewPage"); } });
});