哈希标志后获取请求部分

Ant*_*nAL 11 ajax asynchronous ruby-on-rails request deep-linking

我的网站采用AJAX驱动的搜索,使用深层链接.当用户关注链接时......

http://example.com/articles#/?tags=Mac%20OS,review
Run Code Online (Sandbox Code Playgroud)

...标签"Mac OS"和"评论"应该已经在搜索表单中选择,并且应该在页面上显示与"Mac OS"和"评论"相关的文章.

我有以下场景,需要修复

  1. 用户可以访问http://example.com/articles#/?tags=Mac%20OS链接
  2. 在初始页面呈现期间,将获取所有文章
  3. 在客户端,解析散列部分,并且仅通过AJAX请求与"Mac OS"相关的文章.
  4. 客户端接收"Mac OS" - 文章并替换在步骤2中获取的所有文章.此外,它还在搜索表单上标记"Mac OS"标记.

这里的问题 - 是重复的文章渲染,对用户来说看起来非常糟糕.他查看所有文章,几秒钟后,他们将被"Mac OS"替换.

我需要有以下场景:

  1. 用户可以访问http://example.com/articles#/?tags=Mac%20OS链接
  2. 服务器解析散列部分并返回与"Mac OS"相关的文章
  3. 客户理解,"Mac OS" - 文章已经存在并且什么都不做.它只是将"Mac OS"标记标记为已选中.

为此,我需要获取请求字符串的哈希部分:

/?tags=Mac%20OS
Run Code Online (Sandbox Code Playgroud)

我之后不能使用请求参数,因为我使用AJAX和深层链接.使用?-part,浏览器将被强制重新加载页面.我需要做任何事情而不重新加载页面.

非常感谢您的帮助.

谢谢.

Nic*_*itz 15

散列后URL的一部分未发送到服务器,因此您无法在那里处理它.您可以在创建Ajax请求的客户端代码中提取URL的该部分,并将其作为参数发送.