- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我对这个话题做了一些研究,有专家说不是possible ,所以我想寻求其他解决方案。
我的情况:
页面 A:[checkout.php] 客户填写他们的账单详情。
页面 B:[process.php] 生成发票编号并将客户详细信息存储在数据库中。
页面 C:[thirdparty.com] 第三支付网关(仅接受 POST 数据)。
客户填写他们的详细信息并在页面 A 中设置他们的购物车,然后 POST 到页面 B。在 process.php 中,将 POST 数据存储在数据库中并生成发票编号。之后,将客户数据和发票编号发布到 thirdparty.com 支付网关。问题是在页面 B 中进行 POST。cURL 能够将数据 POST 到页面 C,但问题是页面没有重定向到页面 C。客户需要在页面 C 上填写信用卡详细信息。
第三方支付网关确实给了我们 API 示例,该示例是 POST 发票编号和客户详细信息。我们不希望系统生成过多不需要的发票编号。
有什么解决办法吗?我们目前的解决方案是让客户在页面 A 中填写详细信息,然后在页面 B 中创建另一个页面,显示那里的所有客户详细信息,用户可以在其中单击确认按钮以 POST 到页面 C。
我们的目标是让客户只需点击一次。
希望我的问题很清楚:)
最佳答案
在页面 B 上生成一个表单,将所有必需的数据和操作设置为页面 C,并在页面加载时使用 JavaScript 提交它。您的数据将被发送到页面 C,而不会给用户带来太多麻烦。
这是唯一的方法。重定向是一个 303 HTTP header ,您可以在 http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html 上阅读它。 ,但我会引用其中的一些内容:
The response to the request can be found under a different URI and SHOULD be retrieved using a GET method on that resource. This method exists primarily to allow the output of a POST-activated script to redirect the user agent to a selected resource. The new URI is not a substitute reference for the originally requested resource. The 303 response MUST NOT be cached, but the response to the second (redirected) request might be cacheable.
实现您正在做的事情的唯一方法是使用将用户发送到页面 C 的中间页面。下面是一个关于如何实现该目标的小/简单片段:
<form id="myForm" action="Page_C.php" method="post">
<?php
foreach ($_POST as $a => $b) {
echo '<input type="hidden" name="'.htmlentities($a).'" value="'.htmlentities($b).'">';
}
?>
</form>
<script type="text/javascript">
document.getElementById('myForm').submit();
</script>
您还应该在 noscript 标记中包含一个简单的“确认”表单,以确保没有 Javascript 的用户能够使用您的服务。
关于使用 POST 数据进行 PHP 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5576619/
我正在尝试使用谷歌浏览器的 Trace Event Profiling Tool分析我正在运行的 Node.js 应用程序。选择点样本后,我可以在三种 View 之间进行选择: 自上而下(树) 自上而
对于一个可能是菜鸟的问题,我们深表歉意,但尽管在 SO 上研究了大量教程和其他问题,但仍找不到答案。 我想做的很简单:显示一个包含大量数据库存储字符串的 Android ListView。我所说的“很
我已经开始了一个新元素的工作,并决定给 Foundation 5 一个 bash,看看它是什么样的。在创建带有水平字段的表单时,我在文档中注意到的第一件事是它们使用大量 div 来设置样式。所以我在下
我有一个 Windows 窗体用户控件,其中包含一个使用 BeginInvoke 委托(delegate)调用从单独线程更新的第 3 方图像显示控件。 在繁重的 CPU 负载下,UI 会锁定。当我附加
我有一堆严重依赖dom元素的JS代码。我目前使用的测试解决方案依赖于 Selenium ,但 AFAIK 无法正确评估 js 错误(addScript 错误不会导致您的测试失败,而 getEval 会
我正在制作一款基于滚动 2D map /图 block 的游戏。每个图 block (存储为图 block [21][11] - 每个 map 总共 231 个图 block )最多可以包含 21 个
考虑到以下情况,我是前端初学者: 某个 HTML 页面应该包含一个沉重的图像(例如 - 动画 gif),但我不想强制客户缓慢地等待它完全下载才能享受一个漂亮的页面,而是我更愿意给他看一个轻量级图像(例
我正在设计一个小软件,其中包括: 在互联网上获取资源, 一些用户交互(资源的快速编辑), 一些处理。 我想使用许多资源(它们都列在列表中)来这样做。每个都独立于其他。由于编辑部分很累,我想让用户(可能
我想比较两个理论场景。为了问题的目的,我简化了案例。但基本上它是您典型的生产者消费者场景。 (我关注的是消费者)。 我有一个很大的Queue dataQueue我必须将其传输给多个客户端。 那么让我们
我有一个二元分类问题,标签 0 和 1(少数)存在巨大不平衡。由于测试集带有标签 1 的行太少,因此我将训练测试设置为至少 70-30 或 60-40,因此仍然有重要的观察结果。由于我没有过多地衡量准
我是一名优秀的程序员,十分优秀!