【问题标题】:Codeigniter : data not being inserted in cartCodeigniter:数据未插入购物车
【发布时间】:2017-09-28 21:21:54
【问题描述】:

我正在尝试在购物车中插入数据,如下所示

public function add(){ 
       $this->load->library('cart'); 
        $data = array(
          "id"     => $this->input->post('product_id'),
          "name"   => $this->input->post('product_name'),
          "qty"    => $this->input->post('quantity'), 
          "price"  => $this->input->post('product_price'),
         );
   $this->cart->insert($data);  
 }

我的javascript代码

<script>
 $("form").submit(function(e) { 
            e.preventDefault();


            var product_id = $(this).find('input[name=product_id]').val();
            var quantity = $(this).find('input[name=qty]').val();
            var product_name = $(this).find('h3.title').text();
            var product_price = $(this).find('h3.price').data('price');
            alert(product_price);

            if(quantity != '' && quantity > 0)
              {
               $.ajax({
                url:"<?php echo base_url(); ?>cart/add",
                method:"POST",
                data:{product_id:product_id, product_name:product_name, product_price:product_price, quantity:quantity},
                success:function(data)
                {
                 alert("Product Added into Cart");
                 $('#cart_details').html(data);
                 $('#' + product_id).val('');
                }
               });
              }
              else
              {
               alert("Please Enter quantity");
              } 

    }); 
});
</script>

我收到一个弹出窗口,显示数据已插入购物车,但没有任何内容。

<?php echo form_open('cart/add_cart_item'); ?>
       <h3 class="text-tamween title"  ><?=$value->title;?></h3>
       <h3 class="text-tamween price" data-price="<?=$value->price?>">Prcie :<?=$value->price;?>AED</h3>
        <div class="form-group">
         <input type="number" value="<?=$qty?>" class="form-controls qty" min="
         <?=$qty?> "name="qty" >
       </div>
        <p>
          <?=$value->description;?>
         </p>    
       <?php echo form_hidden('product_id', $value->id); ?> 
       <input type="submit" class="btn btn-default" value="Add to Cart">
 <?=form_close();?> 

【问题讨论】:

标签: javascript php jquery codeigniter


【解决方案1】:

打印:

$this->input->post()

我认为有些数据丢失了。

在 codeigniter 购物车库中,上面的前四个数组索引(id、qty、price 和 name)是必需的。如果您省略其中任何一个,数据将不会保存到购物车中。

【讨论】:

    【解决方案2】:

    函数没有返回值。您应该返回购物车 json。

    public function add() { 
        ...
        $this->cart->insert($data);  
    
        // Return|Output JSON Data
        $this->output
            ->set_content_type('application/json')
            ->set_output(json_encode($this->cart->contents()));
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-17
      • 1970-01-01
      • 2013-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-26
      相关资源
      最近更新 更多