我有这样的网址 - http://www.coolsite.com/daily-plan/#id=1 解析该字符串并读取哈希值(#id =之后的值)的最简单方法是什么?谢谢
Kir*_*kov 30
在客户端(即从JavaScript),您可以检查window.location.hash
以获取哈希值.在服务器端,一般答案是'不可能',因为哈希不是在请求中发送给服务器的.
Upd:我可能误解了这个问题.我的答案是关于如何在请求处理期间在浏览器或服务器端代码中获取URL的哈希部分,而不是字符串处理.
Upd2:回答此处的评论,因为它不适合评论.
当用户点击您的导航链接时,它是如何工作的?
我假设哈希被更改,相应的内容通过来自Web服务或REST的AJAX请求下载.
例如,如果您的用户在其浏览器中有URL www.example.com,则此页面会显示产品类别列表.用户点击一个类别,URL更改为www.example.com/#id=5,该类别(ID = 5)的产品将通过AJAX下载并显示在页面上.没有回发,只有部分页面刷新.
这是否接近您的情况?
现在,您希望用户直接在浏览器地址栏中粘贴/输入www.example.com/#id=5,然后直接转到该类别中的产品列表.
但/#id = 5不会被浏览器请求发送到服务器,因此无法在服务器端获取该值,并且您无法对其执行任何操作,因为浏览器决定不发送此数据而您在服务器端没有它.
在我们的项目中,我们使用解决方案,当服务器只返回公共页面代码/ html,即页眉,页脚,没有页面的主/中心部分.然后有一个JavaScript代码,它在加载这个常见的HTML之后立即执行.它window.location.hash
通过AJAX将其发送到Web服务,Web服务返回页面主要部分的内容(HTML).
pto*_*mli 11
new URI("http://.../abc#xyz").getFragment();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
62002 次 |
最近记录: |