如何改变url成功后,在ajax没有页面重新加载
How to change url after success in ajax without page reload
这是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(),
参数。
你可以对你的成功动作这样做:
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 try this
$(".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");
}
});
});
相关文章:
- 如何更改jquerymobile中默认的加载ajax加载程序gif
- 数据表 AJAX 筛选器重新加载数据
- 无法在 IE6 和 IE7 上加载 ajax
- 页面刷新后重新加载 ajax 检索到的数据
- 清理在加载 Ajax 内容时添加的 CSS
- jquery选项卡加载Ajax内容
- Grails:多个加载ajax调用,但只有一个打印到控制台
- 如何检测通过JSON数据引用的图像何时加载AJAX
- 加载ajax数据时出现jVectorMap问题
- JQuery在加载ajax时阻止链接工作
- 如何在不重新加载ajax的情况下在datatable上.draw()或添加行
- 如何在新加载的页面上执行(下拉)操作
- 根据上一个选项卡的选择器重新加载选项卡
- 替换超链接默认操作以加载 AJAX 请求
- 高图表不使用加载 ajax 的数组进行渲染
- 带有 OnClick 的 jQuery 链接标记 href 需要单击两次才能加载 AJAX
- 在当前页面中加载一个新的谷歌地图,加载AJAX
- 如何在加载新页面后加载AJAX数据
- AJAX调用后,新加载的CSS选择器对jQuery.ech()不可用
- 在 jQuery 的 ajax.load() 之后,无法将元素附加到新加载的内容中