【发布时间】:2011-01-26 08:45:51
【问题描述】:
所以 GET 表单会生成像
这样的常用 url.../search/?q=apple
你可以让表单创建像
这样的 url.../search/q:apple/
【问题讨论】:
标签: cakephp pagination named-parameters
所以 GET 表单会生成像
这样的常用 url.../search/?q=apple
你可以让表单创建像
这样的 url.../search/q:apple/
【问题讨论】:
标签: cakephp pagination named-parameters
谢谢,伙计们。我找到了不同的解决方案。我只是将表单作为 POST 提交,在控制器的操作中,我读取了帖子数据并创建了一个 url,将帖子数据命名为 params,然后 $this->redirect('...');给它。
【讨论】:
创建这些 URL 的方法可以在这里找到:http://book.cakephp.org/view/842/url
【讨论】:
如果我理解正确的话,您并不是要创建不同的 URI,而是要以不同的方式序列化表单数据。换句话说,您感兴趣的是修改查询字符串而不是 URI 本身。
据我所知,这就是表单序列化数据的方式,没有办法真正覆盖这种行为。如果您真的想这样做,我怀疑您必须捕获提交事件,手动将表单数据序列化为您想要的格式,将该格式附加到表单的 action 值,向页面发出自定义请求(通过location.href 等)并返回false,这样表单本身就不会真正被提交。
当然,您也可以通过 Ajax 提交,这样您可以拥有更多控制权。
我不知道有任何其他方法可以做我认为你所要求的。
【讨论】: