从Action zf2更改URL

时间:2014-10-03 15:55:38

标签: zend-framework2 zend-route

我正在实施搜索,将搜索表单发送到某个操作。一切都按预期工作,但提交后的网址不是非常友好,包含不良信息。它将整个请求查询数组显示为查询字符串。我有一个带有名为' album-search'的fieldset元素的表单。

以下是我现在收到的网址:

http://hostname/music_organizer/public/albums/page/1?album-search[term]=art&csrf=12b6065ab7ea428f02ad36a9cc363752-d96a14c1c7f1f2961112014a1e200e03&search=Search

这是我想要的网址:

 http://hostname/music_organizer/public/albums/page/1?term=art

我试图在动作中设置查询字符串,如下所示:

 public function searchAction(){
    //code
    $this->getRequest()->getQuery()->set('term', $term);
    //code
    return $viewModel;
}

但没有运气, 提前致谢

1 个答案:

答案 0 :(得分:0)

我认为你当前的渲染形式应该是这样的

<form method="get" action="...">
 <input name="term">
 <input type="hidden" name="csrf" value="...">
 <input type="submit" name="" value="Search">
<form>

删除提交按钮
  创建时不要指定提交按钮名称 删除CSRF元素
  如果您不在查询字符串中需要csrf元素,则将其从视图页面中删除。但是这个csrf标签对于避免跨站点请求伪造攻击非常有用。

- SJ