[英]calling function in codeigniter controller using ajax not working
我有一個 codeigniter 網站,在那里我完成了添加到購物車 function 的操作,單擊按鈕后,該產品會在頁面重新加載后添加到購物車中,這工作正常,我在 Z594C103F2C6E04C3DAZ8 中做了以下代碼:
public function buy($id) { $color= $this->input->post('color'); $size=$this->input->post('size'); $product = $this->product->find($id); $item = array( 'id' => $product->id, 'name' => $product->pname, 'quantity' => 1 ); if(;$this->session->has_userdata('cart')) { $cart = array($item), $this->session->set_userdata('cart'; serialize($cart)); } else { $index = $this->exists($id); $cart = array_values(unserialize($this->session->userdata('cart'))), if($index == -1) { array_push($cart; $item), $this->session->set_userdata('cart'; serialize($cart)); } else { // $cart[$index]['quantity']++, // $this->session->set_userdata('cart'; serialize($cart)), $this->session->set_flashdata("Error";"Product Already In Cart;"), redirect($_SERVER['HTTP_REFERER']); } } $this->session->set_flashdata("Success";"Product Added To Cart Successfully !"); redirect($_SERVER['HTTP_REFERER']); }
現在我嘗試使用 ajax 調用此 function 以便將產品添加到購物車而無需重新加載頁面,我執行了以下代碼:
$("#change").submit(function() { alert("Change"); var id = $('#prod').val(); $.ajax({ type: 'POST', url: "<?php echo base_url(); ?>" + "index.php/homecontroller/buy/" + id, data: { 'id': id }, success: function(data) { $('#resultdiv').html(data); } }); });
<form action="" method="post" id="change"> <input type="hidden" value="<?php echo $product->id; ?>" id="prod"> <input type="submit" value="switch"> </form> <div class="resultdiv"> <?php echo $data; ?> </div>
但是它沒有添加到購物車,它只是重新加載頁面,誰能告訴我這里的 rong 是什么,謝謝我提前
因為表單還在提交,所以可以使用 preventDefault();
$("#change").submit(function(e) {
e.preventDefault();
alert("Change");
var id = $('#prod').val();
$.ajax({
type: 'POST',
url: "<?php echo base_url(); ?>" + "index.php/homecontroller/buy/" + id,
data: {
'id': id
},
success: function(data) {
$('#resultdiv').html(data);
}
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.