将cakephp POST params插入URL

时间:2009-09-22 12:37:12

标签: url cakephp params

我在下面有这个表单,其中包含两个复选框,用于对某些产品进行排序:

<form id="FiltreExtraForm" action="" method="post" name="FiltreExtraForm">
    <input id="ProductsDeliveryPrice" type="checkbox" value="1" name="data[Products][delivery_price]"/>
    <input id="ProductsPicture" type="checkbox" value="1" name="data[Products][picture]"/>
</form>

POST后我进行过滤,但我也想将收到的参数添加到URL E.g:/ products / index / delivery_price:1 / picture:0。这可能吗。我怎么能这样做?

注意:我不想使用GET发送表单信息。

3 个答案:

答案 0 :(得分:1)

听起来你想要做Post/Redirect/Get

以下是在CakePHP中执行此操作的两个示例:

POST重定向到GET请求的两个主要优点是:

  1. 用户没有收到“您要重新提交吗?”刷新对话框
  2. 生成的页面/查询可以加入书签

答案 1 :(得分:0)

在您发布的操作中,您只需准备GET网址,然后重定向到此网址即可。该URL的操作然后进行过滤。

答案 2 :(得分:0)

如果我理解正确(并且我不确定),您可以很容易地在表单操作的查询字符串上传递其他变量。通常,这可能是这样的:

<form id="FiltreExtraForm" action="/products/index?delivery_price=1&picture=0" method="post" name="FiltreExtraForm">

使用Cake,如果您愿意,您应该能够在没有传统查询字符串的情况下执行相同的操作(尽管上面的传统方法也可以使用):

<form id="FiltreExtraForm" action="/products/index/delivery_price:1/picture:0" method="post" name="FiltreExtraForm"> 

我建议您查看表单助手或至少使用帮助程序构建操作URI,但这应该可以帮助您获得所需的内容。