我们在网站上实现了一个新的基于AJAX的搜索。我们将在主 URL 的末尾添加带有 # 标记的参数及其值,当用户通过应用其他过滤器进行进一步细化时。
这样做是为了使我们的用户能够共享他们正在查看的内容的URL。它实际上是以一种页面被重定向的方式实现的,并且首先为基本 URL 生成内容。使用执行 onload 的 Javascript 函数查看 # 标记中的参数并进行另一次 AJAX 命中。
问题:
- 为什么浏览器不向服务器发送#东西,即HTTP服务器甚至没有收到#部分。实际上有趣的是,浏览器根本不发送它们
- 获取 # 值的最佳方法是什么?我正在考虑更多,以避免我们现在实施的双重打击。即;内容已加载,然后进行另一个 AJAX 调用以应用优化。
#
值是浏览器在要从服务器加载的文档中查找命名锚点的指令。它由浏览器解释和操作。服务器不能对它做任何事情,所以发送它没有意义。如果您尝试将其用于其他目的,那么您会遇到困难 - 正如您所发现的那样。
有一种将数据发送到服务器的机制:查询字符串。将参数附加到以 ?
为前缀的 URL 中,格式为 variablename=data
,连续变量由 &
分隔。