使用 WooPress - 8theme WordPress 主题运行 Wordpress 4.1.5 和 WooCommerce 2.3.8。在结帐页面上,当我点击“下订单”时,它停止了,在控制台中我得到:
Uncaught TypeError: Cannot read property 'reload' of null
从 checkout.min.js。我用非缩小版本替换了它并从这里扣除它:
$.ajax({
type: 'POST',
url: wc_checkout_params.checkout_url,
data: $form.serialize(),
success: function( code ) {
原来 code
是空的。请求的操作是 wp-admin/admin-ajax.php?action=woocommerce_checkout
。为什么这会是空的?
注意:对于支付 vendor ,我使用 AuthorizeNetAIM 插件(来自 codecanyon)并使用测试模式 + 沙箱登录。
更新 #1:已尝试此修复:http://www.tech.theplayhub.com/woocommerce_js_issue_on_checkout/
通过禁用电子邮件通知。运气不好。
更新 #2:尝试了此修复: https://github.com/woothemes/woocommerce/issues/5332
在那种情况下,用户有一个罪魁祸首的 FB 插件并且不得不禁用它。
我安装的唯一插件:
- RevolutionSlider 4.6.5
- WC Authorize.Net AIM 1.2.1
- WooCommerce 2.3.8
- WPBakery Visual Composer 4.4.3
更新 #3: 将 WooCommerce 2.3.8 降级为 2.3.0,因为我使用的主题 ( 8theme/woopress ) 有 woocommerce 2.3.0 文件。一样。还尝试将主题更改为裸(TwelveFourteen 等)主题。一样。
我怀疑这可能是 AuthorizeNet AIM 插件失败/抛出异常,除非代码没有以某种方式获取它。
最佳答案
原来是这样的:cURL requires CURLOPT_SSL_VERIFYPEER=FALSE )
基本上,我使用的插件使用的是过时的 cert.pem 文件。
有问题的模块:http://codecanyon.net/item/authorizenet-aim-payment-module-for-woocommerce/1991981
有问题的文件:wp-content/plugins/wc-authorize-aim/includes/lib/ssl/cert.pem。
虽然可以说 plugins/woocommerce/assets/js/frontend/checkout.min.js
的错误处理可以更好地改进以检测是否有任何实际响应。
关于javascript - WooCommerce:无法读取 null checkout.min.js 的属性 'reload'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30146927/