0

有没有办法将变量传递给我要重定向用户的视图?我注意到这不起作用:

$this->set('var', 'value')
$this->redirect(array('controller' => 'example', 'action' => 'view', $this->request->data['Post']['id']));

必须进行重定向。这是从“发布”视图调用的“评论”添加操作。我只希望文本区域在提交之前仍然具有先前输入的文本。

谢谢。

4

1 回答 1

5

有多种方式,你的不是其中之一。

a) 在 url 中传递值

 $this->redirect(array('controller' => 'example', 'action' => 'view', $this->request->data['Post']['id'], 'var' => $value));

如果您的字符串包含特殊字符等,您需要进行 urlscape 甚至 base64encode

b)将其写入会话并在重定向的控制器操作或视图中读取

c)根据您传递的数据类型,将其存储在其他地方(数据库、缓存、...)。对于较长的内容,上述方法不是一个好的选择。但是,对它的引用,您可以安全地存储在会话中,以便在重定向页面中更轻松地查找。

于 2012-10-12T09:12:27.657 回答