我想从zend中的控制器重定向到页面。在重定向之前,我想在请求对象中设置一些值,然后我想在我重定向的控制器上获取这些值。
我可以通过查询字符串来完成,但我不想在URL中发送这些值。
请告诉我:
主要目的是避免使用查询sting。让我知道解决方案。
提前致谢。
Pravin
答案 0 :(得分:3)
如果会话不可接受,那么我可以看到两种方式:
使用_forward方法并在当前请求的范围内执行新操作 http://framework.zend.com/manual/en/zend.controller.action.html#zend.controller.action.utilmethods
使用包含隐藏元素的表单的空白页面,该页面将由javascript自动提交
答案 1 :(得分:2)
您是否在重定向之前尝试过使用此功能
$something = new Zend_Session_Namespace('abc');
$something->other = 123;
然后用
提取数据$something = new Zend_Session_Namespace('abc');
if (isset($something->other))
{
$my_var = $something->other;//that is 123
}
答案 2 :(得分:0)
您可以使用Zend Flashmessenger,虽然它用于显示消息..您也可以为此做到
假设您在FooController / barAction
中获得了帖子值public function barAction(){
$flashMessenger = $this->_helper->getHelper('FlashMessenger');
$val1 = $this->_request->getPost('val1');
$val2 = $this->_request->getPost('val2');
$flashMessenger->addMessage(array('val1' => $val1 ,'val2' => $val2));
$this->_redirect('somecontroller/someaction');
}
然后在某事上,
public function someAction(){
$flashMessenger = $this->_helper->getHelper('FlashMessenger');
$this->view->flashmsgs = $flashMessenger->getMessages(); //This will get you the array
}