2014-04-02 27 views
0

在CakePHP 2.4,我怎么放心我的观点的查询字符串传递到自定义URL查询字符串?安全传递一个查询字符串的URL呼应在蛋糕2.4

从本质上讲,在posts/map?param1=1&param2=2访问视图时,我需要的观点呼应/posts/points.json?param1=1&param2=2

编辑:为的HtmlHelper改写(munging)&&amp哈克解决方法;

echo str_replace("&", "&", $this->Html->url(array(
     'controller' => 'posts', 
     'action' => 'points', 
     'ext' => 'json', 
     '?' => $this->request->query 
     ))); 

回答

1

请阅读passed-named-or-query-string-params

您应该使用的查询字符串中CakePHP2.x 这些都是通过GET URL之间传递值的正确形式。 他们也很好地扩展。

而且,你的动作名称是错误的。 你应该把它分成“动作”和“分机”:

array(
    'controller' => 'posts', 
    'action' => 'points', 
    'ext' => 'json', 
    '?' => array('param1' => 1, ...) 
), 
+0

谢谢,马克。我其实已经看过您的博客后,我会考虑切换到查询字符串,但我目前使用的CakeDC搜索插件,它使用了一个名为PARAMS。 – schnauss

+1

不,因为我主要写了它,我知道它很好地处理查询字符串 - 这在上面链接的文章中也提到过,如何使用查询字符串来处理它:)请注意'$ config ['搜索']部分。 – mark

+0

你让我大声笑!关闭阅读。 – schnauss