【发布时间】:2016-05-10 11:30:01
【问题描述】:
在项目的根目录 ('/') 我有一个仪表板类型的页面,它被路由到'Patterns:: index'。这适用于使用 GET 加载页面,但我在此页面上还有一个表单,我想将 POST 请求发送到相同的操作。
config/routes.php
Router::connect('/', 'Patterns::index');
视图上的表单创建行如下所示:
<?= $this->form->create($filter, ['url' => ['Patterns::index'], 'method' => 'post']) ?>
注意:它也看起来像这样,但它也不起作用:
<?= $this->form->create($filter) ?>
此表单生成的操作是项目“../client-name”(根)的正确路径,方法为 POST。但是当我点击提交时,它会尝试将请求发送到此路由并获得 301,然后重定向到“../client-name/”(注意尾部的正斜杠)。
如果我在 HTML 中手动编辑浏览器中的操作以使用尾部正斜杠,请求会按预期通过 - 它会向“Patterns::index”发送 POST 请求。
还有一点需要注意的是,如果我删除 config/routes 中的行并通过转到“/patterns”来访问它,一切都会按预期工作......
有人能指出正确的方向吗?
【问题讨论】: