У меня есть тег привязки, и я хотел бы, чтобы его data-id
был отправлен функции в контроллере, которая, в свою очередь, извлекала данные из базы данных через модель.
Однако данные не проходят через контроллер. Ответ Ajax показывает, что данные были отправлены, но контроллер показывает иначе.
Вот мой код Ajax:
$(document).on("click",".learn-more",function(){
var sub_item_id = $(this).data("id");
$.ajax({
url:"<?php echo base_url();?>Designs/business_cards",
type:"POST",
data:{sub_item_id:sub_item_id},
success:function(data){
console.log(data);
},
error: function(error){
throw new Error('Did not work');
}
})
});
Я установил тип данных: "json", но данные не отправлялись, поэтому я удалил тип данных, и он работал, часть ajax. По крайней мере, ответ показал, что данные были отправлены.
Мой контроллер код:
function business_cards(){
$id = $this->input->post('sub_item_id');
$data['quantity'] = $this->subproduct_model->get_quantities($id);
$this->load->view('category/business-cards',$data);
}
Моя модель код:
public function get_quantities($sub_item_id){
$this->db->select('quantities');
$this->db->where('id',$sub_item_id);
$query = $this->db->get('sub_products');
return $query->result_array();
}
HTML-код, включающий тег привязки
<?php foreach ($results as $object):?>
<a href="#" data-toggle="modal" data-id="<?=$object['id'];?>" data-target="#pricelist-modal-2" class="learn-more">View Prices</a>
<?php endforeach?>
data-id
отображает правильное значение согласно итерации.
Когда я проверяю массив результатов кода модели, это пустой массив, показывающий, что $sub_item_id
не было передано в контроллер. В чем может быть проблема?