84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
假设URL为:
www.example.com/?val=1#part2
PHP可以使用GET数组读取请求变量val1。
val1
哈希值part2是否也可读取?还是只能由浏览器和JavaScript处理?
part2
简单测试,访问http://localhost:8000/hello?foo=bar#this-is-not-sent-to-server
python -c "import SimpleHTTPServer;SimpleHTTPServer.test()" Serving HTTP on 0.0.0.0 port 8000 ... localhost - - [02/Jun/2009 12:48:47] code 404, message File not found localhost - - [02/Jun/2009 12:48:47] "GET /hello?foo=bar HTTP/1.1" 404 -
服务器接收到的请求不包含 # 符号后面的内容 - # 符号后面的内容只是客户端上的锚点查找。
你可以使用javascript在URL中找到使用的锚点名称,例如:
如果你已经有了包含片段的URL字符串,PHP中的parse_url()函数可以使用(http://codepad.org/BDqjtXix):
echo parse_url("http://foo?bar#fizzbuzz",PHP_URL_FRAGMENT); ?> 输出:fizzbuzz
但是我认为PHP不会接收片段信息,因为它只存在于客户端。
主要问题是浏览器甚至不会发送带有片段部分的请求。片段部分在浏览器中直接解析。因此,它可以通过JavaScript访问。
无论如何,您可以使用parse_url()将URL解析为各个部分,包括片段部分,但显然这不是您的情况。
简单测试,访问http://localhost:8000/hello?foo=bar#this-is-not-sent-to-server
服务器接收到的请求不包含 # 符号后面的内容 - # 符号后面的内容只是客户端上的锚点查找。
你可以使用javascript在URL中找到使用的锚点名称,例如:
如果你已经有了包含片段的URL字符串,PHP中的parse_url()函数可以使用(http://codepad.org/BDqjtXix):
但是我认为PHP不会接收片段信息,因为它只存在于客户端。
主要问题是浏览器甚至不会发送带有片段部分的请求。片段部分在浏览器中直接解析。因此,它可以通过JavaScript访问。
无论如何,您可以使用parse_url()将URL解析为各个部分,包括片段部分,但显然这不是您的情况。