Jquery / Ajax cookie

时间:2010-10-12 16:20:16

标签: jquery ajax

我正在使用下面的代码来增加我的php / mysql通过“更多”按钮拉入的结果数量。

我的问题是:我可以添加一个jquery cookie,以便当按下“more”按钮并加载更多结果时,会保存当前状态吗?

有问题的结果是列出的元素,其中包含指向各自文章的链接。唯一的问题是,当您从“更多”结果查看文章,然后返回列出的结果页面时,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;
                });
            });
        })

修改:还有相关的帖子 - Question 2

1 个答案:

答案 0 :(得分:5)

当然,你可以这样做。使用jquery cookie plugin设置Cookie时,点击“更多”按钮并加载更多结果,例如:

// 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并最初提供完整列表,要么使用Javascript检查客户端是否存在cookie并获取其他内容(如果cookie的值设置为'true':

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

希望有所帮助。