例如,如果我输入URL:
http://www.foo.com/page.php?parameter=kickme#MOREURL
然后在服务器上没有任何部分:#MOREURL
是否可以在没有jQuery AJAX的情况下将这些部分发送或获取到服务器?
不,它仅对浏览器可用 ,因此您必须使用Javascript处理它。服务器无法读取它。
说明: 基本上,页面URL的散列部分(#符号后面的部分)仅由浏览器处理- 浏览器从不将其传递给服务器。可悲的是,这是HTML标准的一部分,无论您是否使用IE或任何其他浏览器(就此而言,还是PHP或任何其他服务器端技术)都是相同的。
这是 维基百科 所说的:
片段标识符的功能与URI其余部分的功能不同:即,其标识符处理 完全在客户端,而没有服务器的参与 。当代理(例如Web浏览器)从Web服务器请求资源时,该代理将URI发送到服务器,但不发送片段。相反,代理程序等待服务器发送资源,然后代理程序根据片段值处理资源。在最常见的情况下,代理将网页向下滚动到锚元素,该锚元素的属性字符串等于片段值。其他客户端行为也是可能的