簡體   English   中英

PHP Symfony2重定向與POST數據

[英]PHP Symfony2 Redirect with POST data

我正在電子商務應用程序中實現支付網關。 成功/失敗時,它會在給定的URL上返回JSON響應(無論成功還是失敗)。 根據狀態,我必須將其重定向到帶有POST數據的成功和失敗URL。 出於分析原因,我需要兩個不同的URL(成功和失敗)。

我的項目在Symfony 2.0上

現在我知道Symfony可以重定向。

$this->redirect($this->generateUrl('pg_success'));

但是我不能以這種方式發送POST數據。

另外,還有一種使用轉發和發送參數來調用其他動作的方法

$this->forward('DemoBundle:Checkout:pgsuccess', $_POST);

但這不會更改地址欄中的URL。

有沒有一種方法可以執行URL重定向以發送參數? 還是一些類似的解決方案?

POST數據無法重定向。 您可以使用以下選項來解決您的問題:

  1. 使用GET參數重定向。

    $ this-> redirect($ this-> generateUrl('pg_success',$ _POST));

  2. 與參數一起使用正向。

    $ this-> forward('DemoBundle:Checkout:pgsuccess',$ _POST);

http://symfony.com/doc/current/book/controller.html#forwarding-to-another-controller

  1. 只需使用會話將數據傳遞到重定向目標即可。

重定向之前:

$session = $this->getRequest()->getSession();
$session->set('data' => $_POST);

重定向后:

$session = $this->getRequest()->getSession();
$data = $session->get('data');

設置會話:

 $session->set('data' , $_POST); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM