我在 eCom 流程中有一个这样的页面:如果您想要额外的会员卡,请单击此处。
您将获得相同的页面,并设置了一个 PHP $_SESSION
var 来识别您的选择,使用此信息更新数据库,并为发送到支付网关的帖子设置了一个隐藏的金额字段。
如果您返回 FF 或 Chrome 等,会话变量会确保额外的卡片保留在您的订单中,并且调整后的价格在隐藏字段中。然而,IE 非常乐意以旧价格提供页面的缓存副本,并让您前往支付网关,就好像您从未添加过卡一样。
我根据 Microsoft 自己的建议使用缓存控制标头来防止在其有缺陷的产品中出现这种行为:
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
目前我在想,我必须将此表单发布到我自己的脚本中以重新计算价格并使用 cURL 将帖子发送到网关。
这是我最好的选择吗?
感谢您的任何建议。