• 13-11-2021, 19:29:34
    #1
    Merhaba aşağıda ki koda ajax ile ürünü bir artırarak sepeti günceliyorum ama kod çalışırken sadece bir kez artırıyor , tekrar tıkladıgımda artırmıyor , sayfayı yeniliyorum sonra tıklıyorum yine bir kez yani sadece 1 artırıyor anlamadım sorunu.

    Ücretli olarak bu tür sorunlarımı çözecek kişiler yazabilir.


     function post_cart(that, success)
      {
    
        $.get({
          url: '/cart_controller/update_cart_product_quantity',
          method: 'POST',
          data: {
                  <?=$this->security->get_csrf_token_name()?>: "<?=$this->security->get_csrf_hash()?>",
                  product_id: $(that).parent().parent().find('input').data('product-id'),
                  cart_item_id: $(that).parent().parent().find('input').data('cart-item-id'),
                  quantity: number,
                },
          success: function()
          {
    
        
            $.get({
              url: '/get_cart_total',
              success: function(r)
              {
                
                $('.alfiytsds').html(r);
    
              }
            });
            
          }
        });
      
      }
  • 13-11-2021, 19:46:57
    #2
    Selam,

    POST'da quantity parameter'ına number diye bir değişken vermişsiniz. number değişkeni tanımlı değil?

    Ayrıca bir artırarak yapmak yerine yani bu JS'de yapacağınıza, post ettiğiniz sayfada şöyle bir kurgu daha mantıklı olmaz mı diye düşünüyorum;

    urunid,quantity

    gelen urunid, sepette varsa mevctu sepet adetine quantity kadar update yap. yoksa insert et.

    +++

    Ayrıca iki defa ajax çalıştırıp yük bindirmeyin derim, ilk post attığınız endpointte response ile istediğiniz get_cart_total endpointini basın içine böylece tek sorguda request ile işi bitirirsiniz. Buda size performans verir.
  • 13-11-2021, 20:17:05
    #3
    Arttırma işlemini js ile değil back-end kısmında yapın.