我已经搜索了30分钟,所以如果之前有人问过这个问题,请原谅。
我有一些Ajax代码,它返回一组结果,当用户点击其中一个结果时,它会在URL上追加数据,并由PHP在下一页进行GET请求。问题是,如果用户单击了一些内置的锚点(我无法删除),URL将变为something.com#location1
,因此添加?action=next
将其转换为something.com#location1?action=next
,而浏览器将其解释为长锚点,而不是新的URL以实际定向。
如果用户从未单击过锚点部分,则使用window.location=document.url+"?action=next"
重定向工作顺利。
是否有方法可以从现有页面的URL中删除锚点(包括哈希标记)?
已解决
使用Michael W的答案,我解决了这个问题。我只需将这行替换为:
window.location=document.location.href.match(/(^[^#]*)/)[0]+"?action=next"
感谢您的帮助!