从3天开始就从这个问题中挣扎。
当我在Windows(WAMP)中测试应用程序时,一切正常。但是当我在Linux中部署相同内容时,Billing继续按钮不起作用。
当我在输入细节后点击“继续”时,我在萤火虫中看到了
http://www.domain.com/checkout/onepage/saveBilling/ 200确定
它停留在同一页......
然后当我在apache error_log中检查时,我发送错误消息:
[错误]文件不存在:/ home / docs / public_html / checkout,referer:http://www.domain.com/checkout/onepage/
我不知道为什么要去/ home / docs / public_html / checkout ???
我是否正确调试?你能帮我解决这个问题吗? 谢谢&问候 ecomse
答案 0 :(得分:5)
在结算地址步骤中点击“继续”时,该页面会向Mage_Checkout_OnepageController::saveBillingAction
发送ajax发布请求。该函数应该将表单数据保存到引号中并返回包含属性“goto_section”的JSON对象,即“goto_section”:“shipping_method”。 ajax请求的成功函数选择此属性并显示下一步。
我建议您使用firebug调试器来检查POST /checkout/onepage/saveBilling
是否返回带有goto_section
元素的有效JSON对象。如果不是 - saveBilling函数肯定有问题。使用Xdebug并在该函数的开头设置断点,以检查是否所有内容都已正确处理。
另一个可能的问题来源是第三方扩展程序重写结帐路由配置。你店里有可能的嫌疑人吗?尝试停用它们并测试是否能解决问题。
saveBilling
操作返回的有效JSON字符串示例:
{"goto_section":"shipping_method","update_section":{"name":"shipping-method","html":" <dl class=\"sp-methods\">\r\n <dt>Flat Rate<\/dt>\r\n <dd>\r\n <ul>\r\n <li>\r\n <span class=\"no-display\"><input name=\"shipping_method\" type=\"radio\" value=\"flatrate_flatrate\" id=\"s_method_flatrate_flatrate\" checked=\"checked\" \/><\/span>\r\n <label for=\"s_method_flatrate_flatrate\">Fixed <span class=\"price\">$5.00<\/span> <\/label>\r\n <\/li>\r\n <\/ul>\r\n <\/dd>\r\n <\/dl>\r\n<script type=\"text\/javascript\">\r\n\/\/<![CDATA[\r\n var shippingCodePrice = {'flatrate_flatrate':5};\r\n \r\n $$('input[type=\"radio\"][name=\"shipping_method\"]').each(function(el){\r\n Event.observe(el, 'click', function(){\r\n if (el.checked == true) {\r\n var getShippingCode = el.getValue();\r\n var newPrice = shippingCodePrice[getShippingCode];\r\n if (!lastPrice) {\r\n lastPrice = newPrice;\r\n quoteBaseGrandTotal += newPrice;\r\n }\r\n if (newPrice != lastPrice) {\r\n quoteBaseGrandTotal += (newPrice-lastPrice);\r\n lastPrice = newPrice;\r\n }\r\n checkQuoteBaseGrandTotal = quoteBaseGrandTotal;\r\n return false;\r\n }\r\n });\r\n });\r\n\/\/]]>\r\n<\/script>\r\n"},"allow_sections":["shipping"],"duplicateBillingInfo":"true"}
答案 1 :(得分:0)
我在当地工作时面临同样的问题。
还启用了导致此问题的其他运输方法
我已经禁用了DHL,USPS,FedEx和UPS
现在工作正常。
我希望这会有所帮助。