我有一个'type'=>'get'
的CakePHP搜索表单。基本上,表单中的一个元素是图像类型的提交按钮。当表单发布时,在URL中我总是得到这些x&图像提交按钮的y坐标:
http://site.com/controller/action的 X = 22&安培; Y = 36 &安培;查询=你好
有什么办法可以阻止坐标显示在网址中吗?原因是其他人可以使用相同的URL来执行相同的搜索,而链接中没有那些不直观的东西。
谢谢!
答案 0 :(得分:3)
你可以在按钮上使用一些javascript:
document.getElementById('myImageButton').onclick = function() {
this.form.submit();
return false;
};
或者,在beforeFilter
函数的控制器中,您可以检查是否存在不需要的变量,将其删除并重定向到不错的URL。这意味着虽然会有2个HTTP请求。
答案 1 :(得分:1)
听起来你想要做Post/Redirect/Get。
以下是在CakePHP中执行此操作的两个示例:
将POST
重定向到GET
请求的优点是:
/search?q=contact
/search/contact
的网址
醇>
答案 2 :(得分:0)
不使用submit
辅助函数,而是使用button
函数并设置按钮类型进行提交。
echo $this->Form->**button**($this->Html->image('header_search_icon.png'), array(**'type'=>'submit'**));