我已经尝试搜索这个 30 分钟,所以如果已经被问到,我很抱歉。
我有一些 Ajax 返回一组结果,当单击一个结果时,它只是将带有附加数据的 URL 重新加载到 URL 以便 PHP 在下一页上获取。问题是,如果用户点击了一些内置的锚点(我无法删除),something.com#location1
那么附加的 URL 将把?action=next
它变成something.com#location1?action=next
浏览器解释为长锚点的位置,而不是实际指向的新 URL。
如果用户从不点击锚点部分,则此重定向可以顺利使用window.location=document.url+"?action=next"
有没有办法从现有页面的 URL 中删除锚点(包括井号标签)?
解决了
使用迈克尔 W 的答案,我能够解决它。我只是替换了这一行:
window.location=document.url+"?action=next"
有了这个:
window.location=document.location.href.match(/(^[^#]*)/)[0]+"?action=next"
谢谢您的帮助!