我有一個問題,在提交表單時,它似乎忽略我的路由並將我重定向到主頁。Yii路由表單動作
在我的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小部件,第一個不是。
如果你可以打開瀏覽器相同的網址,然後我不事有不對的路由,只是檢查你的代碼,你可能有地方在beforeAction或任何其它地方在POST的情況下重定向,或者你可能有一些嵌套形式在頁面上錯誤?或任何可以改變動作的JS? –
@RasikhMashhadi沒有那些東西。我認爲這個問題是由於我沒有使用與我的其他表單相同的CActiveForm小部件而引起的,儘管我無法指出究竟是什麼問題。 –
我從來沒有遇到過這樣的問題,我曾經使用過和沒有CActiveForm的表單有過百萬次。您需要調試每一步。檢查控制是否通過回顯到達actionInfo()並死在第一行。 –