在检查实时邮件 URL 时,我发现他们使用 #
而不是 查询字符串
。
https://bluxxx.mail.live.com/#n=xxxxxxxxx&fid=x
当删除 #
时,会出现 404 错误。使用 # 代替查询字符串有什么优点吗?可以在php应用程序中实现吗?
最佳答案
散列 URL 通常用于代替实际返回服务器的另一个页面(即,页面加载被 Javascript 拦截)。</p>
哈希值及其后面的任何内容通常不会发送到服务器...
想象一下以下场景...
<a id="SomeLink" href="#DoSomething">
然后您使用 Javascript 附加一个 onclick...
$("#SomeLink").click(function() {...})
如果该点击函数不返回 false
,则该 URL 现在将在其末尾添加一个 #DoSomething
,即使对服务器的请求尚未返回已完成。
它还可以用作操作历史记录的占位符,以便您可以更好地控制后退/前进按钮(或许多其他客户端 javscript 技巧)。请参阅history.js举个例子。
关于php - 使用哈希(#)代替查询字符串有什么好处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18072834/