PHP Symfony2 使用 POST 数据重定向
PHP Symfony2 Redirect with POST data
我正在我的电子商务应用程序中实施支付网关。在 success/failure 上,它 returns 对给定 URL 的 JSON 响应(成功和失败)。根据状态,我必须使用 POST 数据将其重定向到成功和失败 URLs。出于分析原因,我需要两个不同的 URLs(成功和失败)。
我的项目在 Symfony 2.0 上
现在我知道 Symfony 有重定向的方法了。
$this->redirect($this->generateUrl('pg_success'));
但是我无法通过这种方式发送 POST 数据。
此外,还有一种方法可以使用转发和发送参数调用另一个操作
$this->forward('DemoBundle:Checkout:pgsuccess', $_POST);
但这不会改变地址栏中的URL。
有没有一种方法可以执行 URL 重定向,我可以通过它发送参数?
或者一些类似的解决方案?
无法使用 POST 数据进行重定向。您有以下选项来解决您的问题:
使用 GET 参数重定向。
$this->redirect($this->generateUrl('pg_success', $_POST));
使用正向参数。
$this->forward('DemoBundle:Checkout:pgsuccess', $_POST);
http://symfony.com/doc/current/book/controller.html#forwarding-to-another-controller
- 只需使用会话将数据传递到重定向目标。
重定向前:
$session = $this->getRequest()->getSession();
$session->set('data' => $_POST);
重定向后:
$session = $this->getRequest()->getSession();
$data = $session->get('data');
设置会话:
$session->set('data' , $_POST);
我正在我的电子商务应用程序中实施支付网关。在 success/failure 上,它 returns 对给定 URL 的 JSON 响应(成功和失败)。根据状态,我必须使用 POST 数据将其重定向到成功和失败 URLs。出于分析原因,我需要两个不同的 URLs(成功和失败)。
我的项目在 Symfony 2.0 上
现在我知道 Symfony 有重定向的方法了。
$this->redirect($this->generateUrl('pg_success'));
但是我无法通过这种方式发送 POST 数据。
此外,还有一种方法可以使用转发和发送参数调用另一个操作
$this->forward('DemoBundle:Checkout:pgsuccess', $_POST);
但这不会改变地址栏中的URL。
有没有一种方法可以执行 URL 重定向,我可以通过它发送参数? 或者一些类似的解决方案?
无法使用 POST 数据进行重定向。您有以下选项来解决您的问题:
使用 GET 参数重定向。
$this->redirect($this->generateUrl('pg_success', $_POST));
使用正向参数。
$this->forward('DemoBundle:Checkout:pgsuccess', $_POST);
http://symfony.com/doc/current/book/controller.html#forwarding-to-another-controller
- 只需使用会话将数据传递到重定向目标。
重定向前:
$session = $this->getRequest()->getSession();
$session->set('data' => $_POST);
重定向后:
$session = $this->getRequest()->getSession();
$data = $session->get('data');
设置会话:
$session->set('data' , $_POST);