我已经尝试搜索了 30 分钟,如果已经有人问过,我深表歉意。
我有一些 Ajax,它返回一组结果,当单击一个结果时,它只是将带有附加数据的 URL 重新加载到 URL,以便 PHP 在下一页上获取 GET。问题是,如果用户点击了一些内置 anchor (我无法删除),URL 将是 something.com#location1
所以附加 ?action=next
将将其转换为 something.com#location1?action=next
,浏览器会将其解释为长 anchor ,而不是实际指向的新 URL。
如果用户从不点击 anchor 部分,则使用 window.location=document.url+"?action=next"
有没有办法从现有页面的 URL 中删除 anchor (包括散列标签)?
已解决
使用 Michael W's answer我能够解决它。我只是替换了这一行:
window.location=document.url+"?action=next"
有了这个:
window.location=document.location.href.match(/(^[^#]*)/)[0]+"?action=next"
感谢您的帮助!
最佳答案
这看起来稍微简单一些:
document.URL.replace(/#.*$/, "")
关于Javascript:没有 anchor (哈希)部分的 document.url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15193562/