AJAX 搜索 - 使用哈希标记解析和读取 URL 参数



我们在网站上实现了一个新的基于AJAX的搜索。我们将在主 URL 的末尾添加带有 # 标记的参数及其值,当用户通过应用其他过滤器进行进一步细化时。

这样做是为了使我们的用户能够共享他们正在查看的内容的URL。它实际上是以一种页面被重定向的方式实现的,并且首先为基本 URL 生成内容。使用执行 onload 的 Javascript 函数查看 # 标记中的参数并进行另一次 AJAX 命中。

问题:

  1. 为什么浏览器不向服务器发送#东西,即HTTP服务器甚至没有收到#部分。实际上有趣的是,浏览器根本不发送它们
  2. 获取 # 值的最佳方法是什么?我正在考虑更多,以避免我们现在实施的双重打击。即;内容已加载,然后进行另一个 AJAX 调用以应用优化。

#值是浏览器在要从服务器加载的文档中查找命名锚点的指令。它由浏览器解释和操作。服务器不能对它做任何事情,所以发送它没有意义。如果您尝试将其用于其他目的,那么您会遇到困难 - 正如您所发现的那样。

有一种将数据发送到服务器的机制:查询字符串。将参数附加到以 ? 为前缀的 URL 中,格式为 variablename=data ,连续变量由 & 分隔。

最新更新