我正在尝试按如下方式在购物车中插入数据
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();?>
答案 0 :(得分:0)
打印:
$this->input->post()
我认为有些数据丢失了。
在codeigniter购物车库中,需要上面的前四个数组索引(id,qty,price和name)。如果省略其中任何一项,数据将不会保存到购物车中。
答案 1 :(得分:0)
该功能没有回报。你应该退回购物车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()));
}