我正在尝试找出如何重定向到一个新页面(不同的应用程序、控制器和操作),并保留当前的POST数据。
我的应用程序正在验证POST数据,如果满足某些条件,我想要重定向到不同的位置,但确保POST数据作为POST数据传递到那个新页面。以下是一个大致的例子:
我的应用程序正在验证POST数据,如果满足某些条件,我想要重定向到不同的位置,但确保POST数据作为POST数据传递到那个新页面。以下是一个大致的例子:
POST /app1/example HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 17
var1=foo&var2=bar
在我的exampleAction
(Zend_Controller_Action)中,我检查var1 == foo
,如果是,我想用相同的POST数据重定向(302)到/app2/example。像这样做可能行吗?
HTTP/1.x 302 Found
Location: /app2/example
Content-Type: application/x-www-form-urlencoded
Content-Length: 17
var1=foo&var2=bar
我知道如何使用Zend_Http_Client创建一个新的HTTP请求,但我不只是想请求页面并显示内容。即使是这样,我是否仍应该考虑使用Zend_Http_Client?目前我正在尝试以下内容:
$this->getResponse()->setRedirect('/app2/example/', 302);
$this->getResponse()->setBody(http_build_query($this->_request->getPost()));
我相信通过一些诡计和恶魔舞蹈,我想做的事情肯定是可能的,但它确实让我感到困扰。任何帮助都将不胜感激。
- rk