1

所以 GET 表单使通常的 url 像

.../search/?q=apple

你可以制作一个表单创建像这样的网址吗

.../search/q:apple/
4

3 回答 3

3

多谢你们。我找到了不同的解决方案。我只是将表单作为 POST 提交,在控制器的操作中,我读取帖子数据并创建一个 url,将帖子数据命名为 params,然后 $this->redirect('...'); 给它。

于 2010-03-13T11:27:35.627 回答
2

创建这些 URL 的方法可以在这里找到:http: //book.cakephp.org/view/842/url

于 2010-03-11T14:13:43.567 回答
2

如果我对您的理解正确,那么您本身并不是要创建不同的 URI,而是要以不同的方式序列化表单数据。换句话说,您对修改查询字符串而不是 URI 本身感兴趣。

据我所知,这就是表单序列化数据的方式,没有办法真正覆盖这种行为。如果您真的想这样做,我怀疑您必须捕获提交事件,手动将表单数据序列化为您想要的格式,将该格式附加到表单的action值,向页面发出自定义请求(通过location.href等.) 并返回false,这样表单本身就不会真正被提交。

当然,您也可以通过 Ajax 提交,您可以在其中拥有更多控制权。

我不知道有任何其他方式可以做我认为你所要求的事情。

于 2010-03-11T18:45:31.710 回答