1

我有一个问题,在提交表单时,它似乎忽略了我的路由并将我重定向到主页。

在我的 main.php 路由中:

'<language\w+>/profile/<slug:[\w\-]+>'  => 'profile/index',
'<language\w+>/<action:\w+>'            => 'site/index',

我的表格:

<form action="<?php echo Yii::app()->getBaseUrl()."/".Yii::app()->language;?>
/profile/calendar" method="post">

哪个输出到

<form action="/domainname/nl/profile/calendar" method="post">

注意:域名在那里,因为我正在本地主机上测试它。

但是,当按下提交按钮时,它会将我转发到主页而不是正确的页面。只需/domainname/nl/profile/calendar在浏览器访问就可以了,并为我提供了正确的控制器。我不知道为什么它在表单中不起作用。

在同一个网站上以不同的形式,我有以下内容,这对于路由同样适用:

<form action="/domainname/nl/profile/info" method="post">

这两种形式的区别在于,最后一种是通过 CActiveForm 小部件创建的,而第一种不是。

4

2 回答 2

0

向“/domainname/nl/profile/info”发出简单的发布请求并注意响应标头。或者您可以使用 tcpdump 或类似的东西分析现有请求

于 2014-02-17T03:36:18.280 回答
0

CActiveForm毕竟,我设法通过切换我的手动表单来使用小部件来解决这个问题。看来我需要yii_cs_csrf_tokenCActiveForm.

于 2014-02-17T09:11:43.420 回答