我想在cakephp中传递URL参数,其URL以xml结尾,如下所示;
http://localhost/cp251/controller/api_get_info?page=1.xml
控制器功能如下所示;
public function api_get_info()
{
if($this->RequestHandler->responseType() == 'xml')
{
//Problem is that the code never executes inside this if statement
//Controller action
}
}
问题是代码永远不会在if语句if($this->RequestHandler->responseType() == 'xml')
中执行。但是,如果URL变为http://localhost/cp251/controller/api_get_info.xml
,则代码将在if语句中执行。不幸的是,这不是我想要的,因为无法发送URL参数。
如何在带有以xml结尾的URL的cakephp中传递URL参数?我正在使用cakephp 2.5.1
谢谢。
答案 0 :(得分:2)
你的期望是有缺陷的。
http://localhost/cp251/controller/api_get_info.xml
实际上是正确的格式。
http://localhost/cp251/controller/api_get_info?page=1.xml
不是(如果您希望查询字符串在使用xml扩展路由时工作)。
如果要附加查询字符串,请始终在URL本身之后执行此操作,例如
http://localhost/cp251/controller/api_get_info.xml?page=xxx&more=stuff