Изучая урок по Yii2(разработка корзины товаров), столкнулся с проблемой:
Почему то при обращении к контроллеру перебрасывает, хотя вроде как должна быть обработка без перезагрузки.
Контроллер Корзины
Код: Выделить всё
<?php
namespace frontend\controllers;
use Yii;
use yii\web\Controller;
use yii\filters\AccessControl;
// Магазин
use common\modules\shop\models\Product;
use common\modules\shop\models\Category;
use frontend\models\Cart;
class CartController extends Controller
{
public function actionAdd()
{
$id = Yii::$app->request->get('id');
$product = Product::findOne($id);
if(empty($product)) return false;
$session = Yii::$app->session;
$session->open();
$cart = new Cart();
$cart->addToCart($product);
}
}
Модель Корзины
Код: Выделить всё
<?php
namespace frontend\models;
use Yii;
class Cart extends \yii\db\ActiveRecord
{
public function AddToCart($product,$qty=1)
{
return 'ok';
}
}
?>
Вид кнопки
Код: Выделить всё
<a data-id="<?=$p->id?>" href="<?= \yii\helpers\Url::to(['cart/add','id'=>$p->id])?>" class="btn btn-success add-to-cart"> Добавить в корзину</a>
Сам js обработчик
Код: Выделить всё
$('.add-to-cart').on('click', function(e) {
e.preventDefault();
var id = $(this).data('id');
$.ajax({
url: '/cart/add',
data: (id: id),
type: 'GET',
success: function(res){
alert('res');
},
error: function(){
alert('error');
},
});
}
);
Как должно работать
Список кнопок с data-id=ИдТовара. Кликаем на товар, в консоли выводится информация о товаре.
Как работает у меня
Список кнопок с data-id=ИдТовара. Кликаем, перекидывает на новую страницу.(С выводом информации о товаре нет, модель подключена)
Помогите разобраться, заранее благодарен за ваши ответы!