2013-11-24 96 views
2

我正在嘗試將腳本重定向到一個站點,例如paypal或coinbase,但是這些需要post參數,大多數情況下我都會將這些參數發送給一個表單我正在尋找一種方法,允許我直接從控制器發送發佈參數並將用戶重定向到外部站點。重定向到外部URL但發送自定義POST參數

我正在運行symfony2,我不想使用窗體,我一直在嘗試在網上找到這樣的例子,但我找不到任何。

如果需要任何代碼,請不要猶豫,但現在我不知道如何做到這一點。

我是REST apis的新手,它給我帶來了很多麻煩。

+1

您是否嘗試過輸出表單然後立即用javascript提交? – Maerlyn

+0

JavaScript是這裏唯一可能的解決方案。 – nifr

+0

我寧願不使用javascript作爲完成任務的更加冒險的方式,我想我必須深入到文檔中才能想出一個解決方案(這是一個REST文檔,所以我想它不那麼難?) –

回答

4

無法在PHP/symfony2的重定向中包含POST數據。

解決方法可能是使用客戶端JavaScript直接發佈到所需的目標位置。

另一種解決方案可能是在控制器中使用curlPOST請求發送到外部API,並將API響應轉發給客戶端。

+1

它在技​​術上不可能在重定向中包含任何數據主體,這與php/sf2無關。它是通過使用'位置'標頭完成的,根據標準,該標頭產生對該URL的獲取請求。 – Maerlyn

+2

@Maerlyn這不完全正確,因爲你可以使用HTTP 307 - 儘管1)我不確定它是307的意圖,2)用戶會得到一個「你想再次提交這個表單」的問題嗎?瀏覽器。見http://programmers.stackexchange.com/questions/99894/why-doesnt-http-have-post-redirect – Tibo

+1

@蒂博謝謝,我不知道約307 – Maerlyn