web前端_jquery的cookie插件的使用

背景說明:  寫了一個頁面自動刷新的Demo,用到的技術有js的setTimeout方法和jquery的cookie插件,緩存頁面數據




第一步:

  1.後臺方法編寫

  2.前臺js頁面

 

第二步:


1.引入插件

    <script src="<c:url value="/" />resource/js/portal/jquery-1.8.0.min.js"></script>
    <script src="<c:url value="/" />resource/js/portal/jquery.cookie.js" type="text/javascript"></script>

 2,頁面上使用setTimeout()設置一個超時,使其實現自動刷新;代碼如:

$(function(){

    function autoRefreshData(){

                                setTimeout(autoRefreshData, 5000); //當前的方法設置超時,

}

 setTimeout(autoRefreshData, 5000);//頁面第一次加載,執行此方法,只執行一次

})



3,使用cookie緩存頁面數據

       //         設置cookie 緩存自動刷新的id
         $.cookie('idlist', idlist);//使用cookie緩存頁面選擇的id值

         $.cookie('idlist', null); //cookie值置空

          idlist=$.cookie('idlist');//取出cookie值
          idlist=idlist.split(",");//處理cookie爲list自動加上的逗號;改逗號在cookie中會被設置一個key值,在listz中逗號會被識別成一個object




4,頁面js代碼:




<script>

$(function(){
    var idlist=[];
    $(".clickBut").click(function(){
        
        var data={};
        data.id=$(this).attr("id");
         $(this).attr({"disabled":"disabled"});
        idlist.push(data.id);
        console.log(idlist);
//         設置cookie 緩存自動刷新的id
         $.cookie('idlist', idlist);
         console.log($.cookie('idlist'));
        return false;
    });
    
    
    //重置自動刷新button
    $("#reset").click(function(){
         $(".clickBut").attr("disabled",false);
         $.cookie('idlist', null);
    });
    
    //自動刷新數據
     function autoRefreshData(){
        //id列表爲空驗證
        if(!idlist.length==0||$.cookie('idlist')){
            if(idlist.length==0){
                idlist=$.cookie('idlist');
                idlist=idlist.split(",");
            }

         $.ajax({
                url:'<c:url value="/pageRefresh/refreshPageData.shtml" />',
                data:JSON.stringify(idlist),
                contentType : "application/json; charset=utf-8",
                type:"POST",
                datatype: "json",
                success:function(rs){
                    if(rs.status=="SUCCESS"){
                        console.log(rs);
                        //刷新數據
                        for(var i=0;i<rs.list.length;i++){
                            
                            $("table body tr[id='"+rs.list[i].id+"'] td").eq(0).html(rs.id);
                            $("table body tr[id='"+rs.list[i].id+"'] td").eq(1).html(rs.name);
                            $("table body tr[id='"+rs.list[i].id+"'] td").eq(2).html(rs.hostid);
                            $("table body tr[id='"+rs.list[i].id+"'] td").eq(3).html(rs.note);
                            $("table body tr[id='"+rs.list[i].id+"'] td").eq(4).html(rs.dir);
                            $("table body tr[id='"+rs.list[i].id+"'] td").eq(5).html(rs.status);
                            $("table body tr[id='"+rs.list[i].id+"'] td").eq(6).html(rs.lstime);
                            $("table body tr[id='"+rs.list[i].id+"'] td").eq(7).html(rs.stime);
                            $("table body tr[id='"+rs.list[i].id+"'] td").eq(8).html(rs.wtime);
                            $("table body tr[id='"+rs.list[i].id+"'] td").eq(9).html(rs.wqueue);
                            //重載頁面
                            location.reload();
                            console.log("leihou");
                            
                            
                        }
                    }
                }
            });
        }
//         else{
//             alert("id爲空");
//         }
         //設置超時
         setTimeout(autoRefreshData, 5000);
        }
        
    

     //設置超時
     setTimeout(autoRefreshData, 5000);
    
    
});    
</script>










 

 


發佈了19 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章