Woocommerce 和 AJAX 添加到购物车损坏

Woocommerce and AJAX add to cart broken

我在使用 Woocommerce 时遇到了问题。 当我多次点击 "add_to_cart_button" archive-page.php AJAX 停止工作并重定向到产品页面。

首先我检查了服务器响应,一切正常。 200 好:)

然后我研究了脚本。我发现添加到-cart.js:

if ( response.error && response.product_url ) {
   window.location = response.product_url;
   return;
}

太好了,我添加了简单的警报:

if ( response.error && response.product_url ) {
   alert(response.error);
   window.location = response.product_url;
   return;
}

好的,当脚本进入这个 if... 时,"response.error" 等于 true 但是为什么这个 if 语句为真?如何读取错误状态? $.fail 不起作用。

这是怎么回事?请帮助:/

重定向到产品页面是由于将产品添加到购物车时出错。如果您有库存、订单最大值、购物车中的产品最大值和任何其他限制设置,就会发生这种情况。它是内置的。请检查您的产品设置。

我可以添加一些与 WooCommerce 问题相关的东西添加到购物车 ajax 按钮:

  • 在 WooCommerce 选项卡(来自 WP 仪表板)=> 设置 => 产品选项卡中,您会看到两个复选框,一个用于 enable/disable 异步按钮,另一个用于在将产品添加到购物车时直接重定向到购物车页面。
  • 我还注意到,如果将产品帖子可见性设置设置为私有,将在 ajax 请求响应中触发错误,因此将重定向到产品页面(如果可用)。所以也要注意这一点。