10

运行新的 Magento 1.8 安装并在单页结帐时,在用户提交订单时的最终审核中,有一个http://www.domain.com/checkout/onepage/saveOrder/的 ajax 请求。此请求的状态码为 302 Found,响应为 null(应为 {"success":true,"error":false})。

我不知道当它应该是 200 状态时它是如何获得 302 的。有任何想法吗?

4

1 回答 1

21

遇到这个为我修复它的提示。从本质上讲,他们似乎忘记在 saveOrder ajax 请求中包含 formKey。

查找app / design / frontend / (template name) / template / checkout / onepage / review / info.phtml并围绕第 60 行替换...

    <script type="text/javascript">
        //<![CDATA[
            review = new Review('<?php echo $this->getUrl('checkout/onepage/saveOrder') ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements'));
        //]]>
    </script>

...有了这个...

    <script type="text/javascript">
    //<![CDATA[
        review = new Review('<?php echo $this->getUrl('checkout/onepage/saveOrder', array('form_key' => Mage::getSingleton('core/session')->getFormKey())) ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements'));
    //]]>
    </script>
于 2013-11-20T15:34:25.267 回答