Как передать относительные url в $.ajax в yii2?

195
31 мая 2018, 13:50

Если я нахожусь на главной странице и оттуда добавляю товар в корзину ajax запросом отправляю на сервер данные - то срабатывает такой вариант:

`$('.add-to-cart').on('click', function (e) {
    e.preventDefault();
    var id = $(this).data('id'),
        qty = $('#qty').val();
    $.ajax({
        url: './cart/add',
       // url: "'.\yii\helpers\Url::to(['/cart/add', 'id' => $product->id]).'",
       //  url: "'.Yii::$app->urlManager->createUrl(['cart/add').'",
        data: {id: id, qty: qty},
        type: 'GET',
        success: function(res){
            if(!res) alert('Ошибка!');
            showCart(res);
        },
        error: function(){
            alert('Error!');
        }
    });
});` 

При это url или url: './cart/add' или url: 'cart/add'. Когда я с другой страницы пытаюсь добавить товар в корзину, в частности со страницы товара, срабатывает url такой url: '../cart/add'. Как мне настроить единый url для ajax запроса с любой страницы сайта?

Answer 1

Замените

url: './cart/add'

На

url: '/cart/add',
Answer 2

Подсказали решение на форуме YII2

$('.add-to-cart').on('click', function (e) {
    e.preventDefault(); 
    var id = $(this).data('id'),
        qty = $('#qty').val(),
        url = e.currentTarget.href; // Линк берем из ссылки
    $.ajax({
        url: url,
        data: {id: id, qty: qty},
        type: 'GET',
        success: function(res){
            if(!res) alert('Ошибка!');
            showCart(res);
        },
        error: function(){
            alert('Error!');
        }
    });
});
READ ALSO
Как оживить control value accessor?

Как оживить control value accessor?

Пытаюсь разобраться с control value accessor и набросал простейший примерВ каждой функции поставил консоль лог чтобы посмотреть в какой именно момент...

198
Отладка приложения с исходниками Meteor

Отладка приложения с исходниками Meteor

Я новичок в javascriptИспользую VSCode

177
Как пополнять контент на bootstrap шаблоне?

Как пополнять контент на bootstrap шаблоне?

Имеется обычный шаблон bootstrap с использованием html/css/jsНужно по типу CMS пополнять раздел новости с сохранением дизайна сайта

225
Получение значения из .json файла [закрыт]

Получение значения из .json файла [закрыт]

Как получить массив со значениями изjson-файла?

221