【问题标题】:redirect to an external url but send custom POST parameters重定向到外部 url 但发送自定义 POST 参数
【发布时间】:2013-11-24 11:45:49
【问题描述】:

我正在尝试制作一个重定向到某个站点的脚本,例如 paypal 或 coinbase,但是这些需要 post 参数,大多数情况下我使用表单发送这些参数,但是我正在寻找一种允许我的方法直接从控制器发送 post 参数并将用户重定向到外部站点。

我正在运行 symfony2,我不想使用表单,我一直试图在网上找到这样的示例,但我找不到。

如果需要任何代码,请不要犹豫,但现在我不知道如何做到这一点。

我是 REST api 的新手,这给我带来了很多麻烦。

【问题讨论】:

  • 您是否尝试过输出表单然后立即使用 javascript 提交?
  • JavaScript 是这里唯一可能的解决方案。
  • 我宁愿不使用 javascript 作为完成任务的更 hacky 方式,我想我必须深入研究文档以提出解决方案(它是一个 REST 文档,所以我猜它是没那么难?)

标签: php symfony post redirect


【解决方案1】:

无法在来自 PHP / symfony2 的重定向中包含 POST 数据。

一种解决方法是使用客户端 JavaScript 直接发布到所需的目标位置。

另一种解决方案是使用控制器中的curlPOST 请求发送到外部API,并将API 的响应转发给客户端。

【讨论】:

  • 技术上不可能在重定向中包含任何数据体,这与 php/sf2 无关。它是使用 Location 标头完成的,根据标准,该标头会导致对该 URL 的获取请求。
  • @Maerlyn 这并不完全正确,因为您可以使用 HTTP 307 - 虽然 1)我不确定这是 307 的意图,并且 2)用户会得到一个“你想要再次提交此表单”来自浏览器的问题。见programmers.stackexchange.com/questions/99894/…
猜你喜欢
  • 2019-05-02
  • 2017-03-03
  • 2018-09-23
  • 1970-01-01
  • 1970-01-01
  • 2014-07-10
  • 1970-01-01
  • 2021-07-23
  • 2016-03-27
相关资源
最近更新 更多