比如说我有一个 URI http://127.0.0.1/somecontroller/someaction#12345
,它将我带到 someController 控制器的 someAction()
操作.从那里,我可以通过 $this->getRequest()
检索请求对象.
Say e.g. i have a URI http://127.0.0.1/somecontroller/someaction#12345
that takes me to the someAction()
action of the someController controller. From there, i am able to retrieve the Request object via $this->getRequest()
.
我还能够从请求对象中检索有关 URI 的各种信息.
i am also able to retrieve various information regarding the URI from the Request object.
但是,我如何检索片段(例如,# 后面的12345"部分)?getRequestUri()
和 getParams()
都没有打开片段部分.
But, how can i retrieve the fragment (i.e. the "12345" part after the # in the e.g.)? Neither getRequestUri()
nor getParams()
turn up the fragment part.
谢谢!
URL 的片段部分永远不会通过 GET 请求(或任何类型的 HTTP 请求)发送到服务器,这是您可以获得的唯一方法例如,如果您编写一个 Javascript 片段来解析 URL 并将片段通过 Ajax 发送回服务器.
The fragment part of the URL is never sent to the server via GET requests (or any kind of HTTP request for that matter), the only way you can get it is if you write a Javascript snippet that parses the URL and sends the fragment back to the server via Ajax for instance.
仅靠 PHP 无法做到这一点.
This can't be done with PHP alone.
这篇关于PHP Zend Framework - 如何从请求对象获取请求 URI 片段?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!