2013-11-24 97 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