2016-04-08 67 views
1

我試圖從一個視圖重定向到另一個視圖,我無法在線找到解決方案。yii2 - 從視圖重定向到另一個視圖

我已經嘗試使用:

Yii::$app->request->redirect(Yii::$app->createAbsoluteUrl("site/view")); 

但我收到以下錯誤:

Unknown Method – yii\base\UnknownMethodException

Calling unknown method: yii\web\Application::createAbsoluteUrl()

+0

但是,如果我使用Yii :: $ app-> response-> redirect('site/hat');我的網址正在改變爲/ web/site/hat這個不存在的地方。正確的網址是index.php?r =網站/帽子 – MeV

+0

@soju非常感謝! – MeV

回答

6

您應該使用response而不是request

Yii::$app->response->redirect(['site/view']); 

您還可以使用Url幫手來獲得絕對URL:

Yii::$app->response->redirect(Url::to(['site/view'], true)); 

如果你想使用createAbsoluteUrl()

Yii::$app->response->redirect(Yii::$app->urlManager->createAbsoluteUrl(['site/view'])); 
+0

謝謝。我收到相同的錯誤:調用未知的方法:yii \ web \ Application :: createAbsoluteUrl() – MeV

+0

我知道如何從控制器做到這一點,但不是從視圖 – MeV

0

如果使用$應用程序,然後使用它總是使用

Yii::$app->request->redirect(Yii::$app->createAbsoluteUrl("site/hat")); 

,而不是

Yii::$app->request->redirect(Yii::app()->createAbsoluteUrl("site/hat")); 

,或者你可以用這個獲得url

Yii::$app->request->redirect(['site/hat'])); 
+0

謝謝,不幸的是,似乎並不是這個問題。我收到一個新的錯誤。讓我更新問題 – MeV

+0

我已更新答案 – scaisEdge

+0

謝謝,但我得到這個錯誤:調用未知的方法:yii \ web \ Request :: redirect() – MeV

相關問題