Я создал дескриптор файла ajax после щелчка add_to_cart. но моя проблема в том, что мой файл ajax всегда запускается перед файлом woocommerce (например, мое изображение). Как запустить мой пользовательский ajax после woocommerce ajax add_to_cart?Как запустить мой пользовательский ajax после woocommerce ajax add_to_cart?
ответ
Однако его не очень хорошая практика, вы можете попробовать следующий код:
$('.add_to_cart_button').on('click',function(){
/** write your code here **/
});
Надеется, что это помогает
Так что я понимаю, этот пост старый, но я испытать то же самое проблема. Я использовал setTimeout для задержки запроса ajax на 500 мс
jQuery(document).ready(function($) {
console.log('ajax-minicart.js loaded');
// What event do we want our AJAX to fire on? ADDING A PRODUCT TO CART.
$('.ajax_add_to_cart').on('click', function() {
// Fix
setTimeout(function() {
console.log('clicked');
// What data do we need to send? URL TO AJAX, ACTIONS
$.post(my_ajax_obj.ajax_url, {
_ajax_nonce: my_ajax_obj.nonce,
action: 'update_minicart',
}, function(response) {
// What do we want to do with response? REFRESH CART
console.log(response);
$('.cart-container').html(response);
});
}, 500);
});
});
Я не уверен в стабильности или будущей проверке этого исправления, но он работает пока. Буду признателен за любую информацию о том, почему это происходит сам.
Используйте: 'jQuery ('body'). on ('added_to_cart', function() {// ничего не делать}' Вот и все! – huykon225
@ huykon225 спасибо, я клянусь Я пробовал это несколько раз, но это не сработало. Работая сейчас. У вас есть ссылки на документацию к этому? Я хотел бы знать, как работает прослушиватель событий add_to_cart с woocommece. – fd1247
вы можете прочитать больше в ядре woocommerce: https://github.com/woocommerce/woocommerce/blob/master/assets/js/frontend/add-to-cart.js Надеюсь, вы понимаете и полезны для вас. Лучшее – huykon225
Я справился с этой проблемой. Я использую: jQuery ('body'). On ('added_to_cart', function() {// делать что-либо} , и теперь он работает. Спасибо за ваш ответ – huykon225
Это то, что я сказал. – Tristup
no. click event, тогда ваше событие не запускается после woocommerce ajax – huykon225