¿Cómo actualizar las tarifas de envío usando Ajax cuando el artículo del carrito se elimina en la página Pagar y comprar?

15

Mis tarifas de envío se calculan en función del artículo presente en el carrito y ahora, al eliminar el artículo en la Checkout/Cartpágina, necesito actualizar las tarifas de envío. A partir de ahora, Eliminar artículo en la Checkout/Cartpágina actualiza la sección total pero no actualiza las tarifas de envío. Sería de gran ayuda si alguien puede guiarme sobre cómo activar las tarifas de envío una vez que el artículo se elimina del carrito con Ajax.

Rizwan Dhuka
fuente
¿Encontraste alguna solución para esto?
Profundiza

Respuestas:

1

Espero que estés bien.

Intente con este código JavaScript. Espero que esto lo ayude.

define(
    [
        'Magento_Checkout/js/model/quote',
        'Magento_Checkout/js/model/shipping-rate-processor/new-address',
        'Magento_Checkout/js/model/shipping-rate-processor/customer-address',
        'Magento_Checkout/js/model/shipping-rate-registry'

    ],
    function (quote, defaultProcessor, customerAddressProcessor, rateRegistry) {
       'use strict';

       var processors = [];

       rateRegistry.set(quote.shippingAddress().getCacheKey(), null);

       processors.default =  defaultProcessor;
       processors['customer-address'] = customerAddressProcessor;

       var type = quote.shippingAddress().getType();

       if (processors[type]) {
          processors[type].getRates(quote.shippingAddress());
       } else {
          processors.default.getRates(quote.shippingAddress());
       }

    }
);
Bhavin Gehlot
fuente
0
 requirejs([
    'Magento_Checkout/js/model/quote',
    'Magento_Checkout/js/model/shipping-rate-registry'
], function(quote, rateRegistry){


    var address = quote.shippingAddress();

    address.trigger_reload = new Date().getTime();

    rateRegistry.set(address.getKey(), null);
    rateRegistry.set(address.getCacheKey(), null);

    quote.shippingAddress(address);
});
Urvashi Prajapati
fuente