我启用了woocommerce ajax添加到购物车功能,但它无法正常工作。它正在加载而不是ajax调用。这是我的ajax-add-to-cart.js代码:
/*!
* WooCommerce Add to Cart JS
*/
jQuery(function(a) {
if ("undefined" == typeof wc_add_to_cart_params) return !1;
a(document).on("click", ".add_to_cart_button", function() {
var t = a(this);
if (t.is(".ajax_add_to_cart")) {
if (!t.attr("data-product_id")) return !0;
t.removeClass("added"), t.addClass("loading");
var r = {};
return a.each(t.data(), function(a, t) {
r[a] = t
}), a(document.body).trigger("adding_to_cart", [t, r]), a.post(wc_add_to_cart_params.wc_ajax_url.toString().replace("%%endpoint%%", "add_to_cart"), r, function(r) {
r && (r.error && r.product_url ? window.location = r.product_url : "yes" !== wc_add_to_cart_params.cart_redirect_after_add ? a(document.body).trigger("added_to_cart", [r.fragments, r.cart_hash, t]) : window.location = wc_add_to_cart_params.cart_url)
}), !1
}
return !0
}), a(document.body).on("added_to_cart", function(t, r, d, o) {
var c = window.location.toString().replace("add-to-cart", "added-to-cart");
(o = void 0 !== o && o) && o.removeClass("loading"), r && a.each(r, function(t) {
a(t).addClass("updating")
}), a(".shop_table.cart, .updating, .cart_totals").fadeTo("400", "0.6").block({
message: null,
overlayCSS: {
opacity: .6
}
}), o && (o.addClass("added"), wc_add_to_cart_params.is_cart || 0 !== o.parent().find(".added_to_cart").length || o.after(' <a href="' + wc_add_to_cart_params.cart_url + '" class="added_to_cart wc-forward" title="' + wc_add_to_cart_params.i18n_view_cart + '">' + wc_add_to_cart_params.i18n_view_cart + "</a>")), r && (a.each(r, function(t, r) {
a(t).replaceWith(r)
}), a(document.body).trigger("wc_fragments_loaded")), a(".widget_shopping_cart, .updating").stop(!0).css("opacity", "1").unblock(), a(".shop_table.cart").load(c + " .shop_table.cart:eq(0) > *", function() {
a(".shop_table.cart").stop(!0).css("opacity", "1").unblock(), a(document.body).trigger("cart_page_refreshed")
}), a(".cart_totals").load(c + " .cart_totals:eq(0) > *", function() {
a(".cart_totals").stop(!0).css("opacity", "1").unblock()
})
})
});
答案 0 :(得分:0)
我也遇到过这个问题。终于得到了解决方案。 WooCommerce已删除&#39; wc_add_to_cart_params&#39;对象和已删除的新对象&#39; wc_cart_fragments_params&#39; 还有一个问题,对于完整的网站/ ajax网址, 你必须使用:
var ajax_url: 'http://example.com' + wc_cart_fragments_params.ajax_url;
我希望:你将能够解决问题。 感谢