PHP перебирает массивы cookie - PullRequest
0 голосов
/ 20 июня 2019

В моем приложении CakePHP я пытаюсь создать функцию комментирования. Поэтому я использую ajax-запрос, чтобы получить комментарии, а затем клонировать HTML-шаблон и добавить его на страницу:

//load comments
    $(document).ready(function(){
        $.ajax({
                type: 'POST',
                url: '/app/tasks/getComments',
                datatype: 'json',
                beforeSend: function (xhr) { // Add this line
                           xhr.setRequestHeader('X-CSRF-Token', $('[name="_csrfToken"]').val());
                        },
                data: {
                        task_id : "<?php echo $task->id; ?>"
                },
                success: function( data )
                {
                    for (var i=0; i < data.length; i++)
                    {
                        //Clone the template
                        var item = $(template).clone();

                        document.cookie = 'photos['+i+']='+data[i].user.photo;
                        document.cookie = 'names['+i+']='+data[i].user.username;

                        //Find the  element
                        $(item).find('#comment_photo').html('<?php if(isset($_COOKIE["photos[$num]"])) {echo $this->Html->image($_COOKIE["photos[$num]"], ["class" => "avatar avatar-online", "alt" => $currentUser->username]); }  ?>');


                        $(item).find('#comment_username').html('<?php if(isset($_COOKIE["names[$num]"])) { echo $_COOKIE["names[$num]"]; }?>');

                        $(item).find('#comment_time').html(moment(data[i].created_date, 'DD-MM-YYYY hh:mm:ss').format('MMMM Do YYYY, h:mm:ss a'));

                        $(item).find('#comment_text').html(data[i].comment);
                        $(item).find('#comment_id').html(data[i].id);
                        //Append to the source
                        $('#target').append(item);


                    }

                }
            });
    });

Чтобы получить доступ к возвращенным результатам в php, я сохраняю их в массивах cookie (photos[], names[]). Как я могу установить и обновить значение $num, чтобы повторять массивы в каждом добавлении HTML-кода? Можно ли добиться того, чего я хочу, с помощью этого подхода? Или мне нужен совершенно новый?

1 Ответ

0 голосов
/ 24 июня 2019

Решение оказалось намного проще, чем я думал ... Я сделал это с помощью JQuery так:

.......

$(item).find('#comment_photo').prepend("<img src='/app/img/' class='avatar avatar-online'/>");
$(item).find('.avatar.avatar-online').prop('src', '/app/img/'+data[i].user.photo);
......
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...