【问题标题】:Magento - Checkout not redirecting to success pageMagento - 结帐未重定向到成功页面
【发布时间】:2012-04-05 14:35:15
【问题描述】:

我正在开发使用 Magento 部署的商店。它有一个我编写的模块,其中包含 checkout_type_onepage_save_order_after、checkout_type_multishipping_create_orders_saved_after 和 admin_created_order_after 的事件观察器。

当客户下订单时,启用我的模块后,Magento 不会重定向到成功页面。当我禁用我的模块时,它重定向就好了。无论有没有我的模块,订单仍然可以通过,但如果没有某种感谢信息,它就不是很友好。

有人知道问题是什么吗?任何错误日志(Apache、PHP、Magento 或数据库)中都没有条目。

在 PHP 5 上使用 magento 1.6.2.0。

【问题讨论】:

  • 尝试在开发模式下配置您的 Magento:blog.magepsycho.com/… 并查找浏览器或 var/log/*.log 文件中显示的错误
  • 我在 Magento 1.7 中也注意到了这种行为,当时我在 checkout_submit_all_after 事件上添加了一个观察者。我相当肯定没有任何东西输出到浏览器会弄乱AJAX响应,因为当我向浏览器输出任何东西时,加载的GIF只会无限期地挂起。现在我摆脱了输出,它不会挂起,但它也不会重定向到成功页面。

标签: magento


【解决方案1】:

如果其他人遇到相同或类似的问题,感谢 TonyTheJet 在这里的评论,我刚刚解决了一个非常相似的问题。我在 Magento CE 1.7.02 中使用 onepagecheckout

如果您的代码中有一个杂散的 echo 命令,它将向浏览器发送原始文本,这将导致 onepagecheckout.js 中的浏览器端出现问题。它没有正确地取消编码服务器发送的后续 JSON 字符串以表明订单已成功处理。因此,浏览器无法发送 GET 来触发 onepagecheckout 控制器 successAction()。

如果您使用的是协议分析器或 Firefox Firebug 之类的工具,那么关键的 JSON 字符串应该如下所示。 order_creates=true 应该触发成功页面的浏览器请求:

{"success":true,"error":false,"order_created":true}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-29
    • 1970-01-01
    • 1970-01-01
    • 2022-09-29
    • 1970-01-01
    • 1970-01-01
    • 2013-03-21
    相关资源
    最近更新 更多