基本上我有一个主要基于Ajax的网站。当加载了一个结果,通过Ajax的出现,并从mysite.com URL地址栏变为mysite.com/#xyz/A_Random_Title

A_Random_Title是装了东西的搜索引擎友好的格式化的标题,但重要的部分是#xyzxyz是加载的结果的ID,并用于与查询数据库。

有什么办法笨可以读取当前的URL这样呢?我不是说读它曾经在页面加载,但读给它的请求......希望是有道理的!

谢谢!

杰克

有帮助吗?

解决方案

否,它是提供给浏览器只,所以你必须使用Javascript来处理它。服务器不能读取它。

<强>解释结果 基本上,网页URL(以下#号的部分)的hash部件仅由浏览器处理 - 浏览器从来没有把它传递给服务器。这可悲是HTML标准的一部分,并且是相同的无论是否使用的是IE或任何其他浏览器(和与此有关的PHP或任何其他服务器侧技术)。

下面就是 维基百科 说一下吧:

  

在片段标识符功能不同于所述URI的其余部分,即:它的处理是的专门的客户端,没有从所述服务器参与。当一个代理(如Web浏览器)从Web服务器请求一个资源时,代理发送的URI到服务器,但不发送该片段。相反,该服务器的代理等待发送资源,然后该试剂根据片段值处理资源。在最常见的情况下,代理滚动网页向下到其具有属性字符串锚固元件等于所述片段值。其他客户端的行为也是可能的

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top