javascript更改get参数而不重定向

Bas*_*sit 10 javascript url jquery redirect

如何在不重定向的情况下更改get参数?

parent.location.search = "?after=20"; 
// ok that changes, but also redirect to the new page
Run Code Online (Sandbox Code Playgroud)

有解决方案吗 或者答案是否定的,如果不是,请写下大号.

Pet*_*ley 10

更新

由于这是已接受的答案,并且不再正确,请参阅此重复问题以获取最新信息.

原始答案如下:


没有

您可以接近URL的锚点部分,该部分可由对象的hash属性访问location

parent.location.hash = "whatever value you want";
Run Code Online (Sandbox Code Playgroud)


Ate*_*ral 6

如果您的目标是使用查询字符串来存储稍后可以从书签中恢复的某个状态,则应该使用锚点.

但是,如果由于某种原因必须更改查询字符串,实际上有一种方法.但是,我并不赞同这一点.我只是提到它的完整性.

当服务器返回204 No Content响应时,大多数浏览器都不会做任何事情 - 即使甚至不会尝试转换到另一个页面甚至擦除当前页面.您可以做的是,当对刚刚提供的同一页面发出请求时,后端只会发出204响应,并且查询参数会发生变化.