Как получить данные в реальном времени в Laravel - PullRequest
0 голосов
/ 14 мая 2019

Я новичок в программировании, и у меня есть вопрос о моем проекте.

В настоящее время я делаю проект электронной коммерции с использованием laravel. Я хочу создать корзину покупок с данными в реальном времени. Поэтому, когда я добавляю товар в корзину, при этом количество товара в корзине увеличивается. Кроме того, даже цена в целом может быть изменена в режиме реального времени.

Как я могу справиться с этой ситуацией? Должен ли я использовать JavaScript? Не могли бы вы дать мне подсказку?

1 Ответ

0 голосов
/ 14 мая 2019

Для обновления этих данных вы обычно используете интерфейсный инструмент. Vue, React или Angular - это общие структуры JavaScript. По сути, для всех них событие, которое добавляет товар в корзину, обновляет другие элементы. Вы можете сделать все это с помощью родного JavaScript.

Вы также можете достичь этого с загрузкой страниц. Когда вы нажимаете добавить в корзину, вы попадаете на новую страницу. Запрос на публикацию из добавления в корзину добавит идентификатор элемента в переменную сеанса корзины и обновит общую цену сеанса, чтобы получить ту же информацию.

$(document).ready(function() {
    $('.game_opt').click(function() {
        var available = false;
        var player_game_id = $(this).attr('data-game-id');
        var value = $(this).attr('data-attend-value');

        $.ajax({
            type: "GET",
            url: '/attend/'+player_game_id+'/'+value,
            dataType: "json",
            success: function( msg ) {                                                  
                $('#roster_'+msg.game_id).text('('+msg.skaters+')'); 

                if(msg.game_full == 1) {
                    window.location.replace("/waitlist/"+msg.game.id);
                    available = true;
                } else {
                    updateBalance();                    
                }                   
            }
       });
    });
}); 

Обновление баланса - это функция, которую я имею в другом скрипте, которая устанавливает баланс в заголовке.

function updateBalance() {
    $.ajax({
        type: "GET",
        url: '/players/balance',
        dataType: "json",
        success: function( msg ) {                           
            $('#my_balance').text(msg.balance);
            if (msg.debt == 1) {
                $(".balnce-due-bar").hide().fadeIn();
        } else {
            $(".balnce-due-bar").fadeOut();
        }
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...