0

我在下面有这个表格,其中包含两个复选框来对一些产品进行排序:

<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,例如:/products/index/delivery_price:1/picture:0。这可能吗。我怎样才能做到这一点?

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

4

3 回答 3

1

听起来您正在寻找Post/Redirect/Get

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

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

  1. 用户没有收到“您要重新提交吗?” 如果他们刷新对话框
  2. 生成的页面/查询可以添加书签
于 2009-09-22T20:45:45.123 回答
0

在您发布的操作中,您可以简单地准备 GET url,然后重定向到该 url。然后该 url 的操作进行过滤。

于 2009-09-22T13:38:50.673 回答
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,但这应该会让你得到你想要的。

于 2009-09-22T14:01:03.640 回答