我有一个错误,当我试图重定向到Yii中的控制器.
strpos() expects parameter 1 to be string, array given if(!$error) { \Yii::app()->request->redirect(array('site/nch1')); }else{ \Yii::app()->request->redirect(array('document/result')); }
更新:我想重定向页面到控制器/行动。
piah890a1#
重定向有两种方法,上面的答案把它们弄混了。
Yii::app()->request->redirect('/actual/url/path.html');
和
Yii::app()->controller->redirect(['controller/action']); $this->redirect(['controller/action']);
CHttpRequest方法只接受url路径。它必须是存在的url。CController方法将接受一个数组并生成url本身。根据上下文,您有时可以使用$this->redirect($route);调用CController重定向方法,例如在控制器或视图文件中。
$this->redirect($route);
643ylb082#
你需要传递一个字符串,而不是一个数组,试试这个:
if(!$error) { \Yii::app()->request->redirect('site/nch1'); }else{ \Yii::app()->request->redirect('document/result'); }
2条答案
按热度按时间piah890a1#
重定向有两种方法,上面的答案把它们弄混了。
和
CHttpRequest方法只接受url路径。它必须是存在的url。
CController方法将接受一个数组并生成url本身。
根据上下文,您有时可以使用
$this->redirect($route);
调用CController重定向方法,例如在控制器或视图文件中。643ylb082#
你需要传递一个字符串,而不是一个数组,试试这个: