我的网站采用AJAX驱动搜索,使用深层链接。当用户关注链接时......
http://example.com/articles#/?tags=Mac%20OS,review
...标签应该已经在搜索表单中选择了“Mac OS”和“评论”,并且应该在页面上显示与“Mac OS”和“评论”相关的文章。
我有以下情况,需要修复
这里的问题 - 重复的文章呈现,对用户来说看起来非常糟糕。他查看了所有文章,几秒后,它们将被替换为“Mac OS” - 文章。
我需要有以下方案:
为此,我需要获取请求字符串的哈希部分:
/?tags=Mac%20OS
我之后不能使用请求参数,因为我使用AJAX和深层链接。使用?-part,浏览器将被强制重新加载页面。我需要做任何事情而不重新加载页面。
非常感谢您的帮助。
感谢。
答案 0 :(得分:15)
散列后的URL部分未发送到服务器,因此您无法在那里处理它。您可以在创建Ajax请求的客户端代码中提取URL的那一部分,并将其作为参数发送。
答案 1 :(得分:0)
@NickFitz是正确的,但是如果你必须发送#
哈希/英镑符号之后的任何内容,你可以使用代表#
的URL编码字符%23
。 / p>
所以%23
以及%23
之后的任何内容都将被发送到服务器。如果您使用的是现代网络服务器,他们会自动识别%23
是#
。在Ruby on Rails中,Rack会为您完成此任务。