jquery ajax函数删除URL中的锚点。 Something.html#锚
如果我们将#作为脚本的参数怎么办?
我可以阻止jquery删除锚吗?
答案 0 :(得分:3)
你不能,因为锚不是请求的一部分。锚点在客户端(由浏览器)解释。如果你想发送一个锚点,那么你必须将它保存到一个数据结构中,然后将它保存到服务器。
答案 1 :(得分:2)
不,因为#
(称为片段)之后的部分从未发送到Web服务器;它不是HTTP请求的一部分。它只能从客户端脚本访问。
如果您使用jQuery,AJAX,或者只是将URL粘贴到浏览器的导航栏并点击 ENTER ,则无关紧要;在所有情况下,这种行为都是一样的。
答案 2 :(得分:0)
散列标记在技术上不是url的一部分,因为它表示页面上的锚点并且不会发送到Web服务器。如果您需要将其作为使用AJAX请求发送的表单数据的一部分传递到服务器,则可以使用location.hash
var urlWithHash = location.href + location.hash;
答案 3 :(得分:0)
您无法保留#
。你可以连接它:
data.url + "#" + data.anchor
......或类似的东西。