我有一个CakePHP搜索表单,它有'type'=>'get'
。基本上,表单中的一个元素是图像类型的提交按钮。当表单发布时,在URL中我总是会得到这些x & y图像提交按钮的坐标:CakePHP:预防URL中的GET表单字段
http://site.com/controller/action? X = 22 & Y = 36 &查询=你好
有没有什么办法可以防止坐标从显示的网址呢?原因是其他人可以使用相同的URL执行相同的搜索,而不会在链接中看到不直观的内容。
谢谢!
我有一个CakePHP搜索表单,它有'type'=>'get'
。基本上,表单中的一个元素是图像类型的提交按钮。当表单发布时,在URL中我总是会得到这些x & y图像提交按钮的坐标:CakePHP:预防URL中的GET表单字段
http://site.com/controller/action? X = 22 & Y = 36 &查询=你好
有没有什么办法可以防止坐标从显示的网址呢?原因是其他人可以使用相同的URL执行相同的搜索,而不会在链接中看到不直观的内容。
谢谢!
你可以使用一些JavaScript上的按钮:在beforeFilter
功能
document.getElementById('myImageButton').onclick = function() {
this.form.submit();
return false;
};
或者,在你的控制器,你可以检查不需要的变量的存在,带他们出去,并重定向到漂亮的URL 。这确实意味着会有2个HTTP请求。
听起来像你正在寻找做Post/Redirect/Get。
下面是在CakePHP中这样做的两个例子:重定向POST
到GET
请求的
优点是:
/search?q=contact
网址,你可以得到/search/contact
而不是使用submit
辅助功能,使用button
函数并设置按钮类型提交。
echo $this->Form->**button**($this->Html->image('header_search_icon.png'), array(**'type'=>'submit'**));
将按钮移出窗体,并在其上粘贴JavaScript以触发提交窗体。 – 2009-12-23 00:02:02
当我试图访问$ _POST变量时,我得到了这些'x'和'y'坐标。我希望我的表单可以提交给外部表单处理器,我们将其用作客户端的集中位置来登录并下载带有注册的CSV文件。他们是谁? – 2011-09-10 19:17:48
当您使用图像类型的提交按钮时,x和y坐标是。要么忽略它们,要么将提交按钮类型更改为type =“submit”。 – ash 2011-09-12 18:08:03