yii2 - 从视图重定向到另一个视图

Posted

技术标签:

【中文标题】yii2 - 从视图重定向到另一个视图【英文标题】:yii2 - redirect from view to another view 【发布时间】:2016-04-08 16:24:33 【问题描述】:

我正在尝试从一个视图重定向到另一个视图,但我无法在线找到解决方案。

我尝试过使用:

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

但我收到以下错误:

未知方法 – yii\base\UnknownMethodException

调用未知方法:yii\web\Application::createAbsoluteUrl()

【问题讨论】:

但是如果我使用 Yii::$app->response->redirect('site/hat');我的网址正在更改为不存在的 /web/site/hat。正确的 url 是 index.php?r=site/hat @soju 非常感谢! 【参考方案1】:

您应该使用response 而不是request

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

您也可以使用Url helper 来获取绝对网址:

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

如果你想使用createAbsoluteUrl()

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

【讨论】:

谢谢。我收到同样的错误:调用未知方法:yii\web\Application::createAbsoluteUrl() 我知道如何从控制器而不是从视图中做到这一点【参考方案2】:

如果你使用 $app 然后使用它总是使用

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

而不是

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

或者您可以使用它来获取网址

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

【讨论】:

谢谢,不幸的是,这似乎不是问题所在。我收到一个新错误。让我更新问题 谢谢,但我得到这个错误:调用未知方法:yii\web\Request::redirect() 我终于找到了答案!我会更新问题。

以上是关于yii2 - 从视图重定向到另一个视图的主要内容,如果未能解决你的问题,请参考以下文章

Django 使用绑定表单重定向到另一个视图

根据模型视图ID Yii2将用户登录重定向到不同的页面

在 Django 1.6 中使用另一个 url slug 从视图重定向到另一个 html 页面

如何在 React 中重定向到另一个视图

重定向到另一个域的 Django 视图

django 重定向到另一个带有上下文的视图