运行新的 Magento 1.8 安装并在单页结帐时,在用户提交订单的最后审核时,有一个 ajax 请求 http://www.domain.com/checkout/onepage/saveOrder/ .此请求的状态代码为 302 Found,响应为空(应为 {"success":true,"error":false})。
我不知道它应该是 200 状态时如何得到 302。有什么想法吗?
最佳答案
遇到this tip那为我修好了。从本质上讲,他们似乎忘记了在 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>
关于php - Magento单页结帐saveOrder 302重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19588485/