Jquery / Ajax cookie - PullRequest
       2

Jquery / Ajax cookie

1 голос
/ 12 октября 2010

Я использую приведенный ниже код для увеличения количества результатов, которые мой php / mysql извлекает через кнопку «еще».

Мой вопрос: могу ли я добавить файл cookie jquery, чтобы при нажатии кнопки «больше» и загрузке большего количества результатов текущее состояние сохранялось?

Указанные результаты представляют собой перечисленные элементы, которые содержат ссылки на соответствующие статьи. Единственная проблема заключается в том, что когда вы просматриваете статью из «дополнительных» результатов, а затем возвращаетесь на страницу с перечисленными результатами, результаты, полученные с помощью ajax (more-press.php), исчезают:

Отсюда и мой вопрос. Надеюсь, это имеет смысл. Заранее спасибо. S.

$(document).ready(
function(){                                        
        $(function() {
        //More Button
        $('.more').live("click",function() 
        {
        var ID = $(this).attr("id");
        if(ID)
        {
        $("#more"+ID).html('<img src="images/more_press.gif" alt="More results..." />');
        $.ajax({
        type: "POST",
        url: "more_press.php",
        data: "lastmsg="+ ID, 
        cache: false,
        success: function(html){
        $("div#updates").append(html);
        $("#more"+ID).remove();
                }
            });
        } else {
        $(".morebox").html('<p><strong>No more results...</strong></p>');
        }
        return false;
                });
            });
        })

Редактировать: Также есть этот пост - Вопрос 2

1 Ответ

5 голосов
/ 12 октября 2010

Конечно, вы можете сделать это. Используйте плагин jquery cookie , чтобы установить cookie, когда они нажимают кнопку «больше» и загружают дополнительные результаты, например ::10000 *

// set cookie to expire in 60 minutes when 'more' is clicked
$.cookie('viewing_expanded_content',true, {
    expires : new Date(new Date().valueOf() + 60 * 60 * 1000)
});

А когда они вернутся к списку статей, либо проверьте наличие cookie на стороне сервера и первоначально предоставьте полный список, либо проверьте наличие cookie на стороне клиента с помощью Javascript и получите дополнительный контент, если значение cookie установлено в «true»:

if($.cookie('viewing_expanded_content')) {
  // make your ajax call, etc
}

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...