jquery ajax 函数删除 URL 中的锚点。东西.html#anchor
如果我们将 # 作为脚本的参数怎么办?
我可以阻止 jquery 删除锚点吗?
你不能,因为锚不是请求的一部分。锚点在客户端(由浏览器)解释。如果要发送锚点,则必须将其保存到数据结构中,然后以这种方式发送到服务器。
不,因为后面的部分#
(称为片段)永远不会发送到 Web 服务器;它不是 HTTP 请求的一部分。它只能从客户端脚本访问。
使用 jQuery、AJAX 或者只是将 URL 粘贴到浏览器的导航栏中并点击ENTER;都没关系。这种行为在所有情况下都是相同的。
你不能留着#
。您可以将其连接起来:
data.url + "#" + data.anchor
...或类似的东西。
哈希标签在技术上不是 url 的一部分,因为它表示页面上的锚点并且不会发送到网络服务器。如果您需要将其作为随 AJAX 请求发送的表单数据的一部分传递给服务器,您可以使用location.hash
var urlWithHash = location.href + location.hash;