Надеюсь, я здесь что-то упустил. Я искал немного и не могу найти решение.
В CI я пытаюсь POST через AJAX в событии onClick. при срабатывании событие должно добавить товар в корзину.
Мой Javascript выглядит следующим образом:
function addToCart(id) {
var productID = id;
var qty = 1;
$.ajax({
url : "/menu/add/"
type : "POST",
dataType : "json",
data : {"productid" : productID, "qty" : qty},
success : function(data) {
alert(data);
},
error : function(data) {
alert(data);
}
});
}
Внутри моего контроллера меню функция добавления выглядит следующим образом:
public function add(){
if (isset($_POST['productid']) &&
isset($_POST['qty']) &&
is_numeric($_POST['qty']) &&
$this->product_model->isValidProductId($_POST['productid'])
){
$productData = array(
'product_id' => $_POST['productid'],
'product_qty' => $_POST['qty']
);
$cart_array = $this->session->userdata('cart');
array_push($cart_array, $productData);
$this->session->set_userdata('cart', $cart_array);
}
}
Я вызываю функцию так:
<h1 onclick="addToCart(23)">OTown Cafe Menu- Click an item to add it to your order!</h1>
Ни успех, ни ошибка не запускаются из ajax, однако, если я поставлю предупреждение до или после запуска ajax, он будет активирован. Кто-нибудь видел, что я сделал не так?