JS設置讀取刪除cookie及表單交互

學習cookie和表單交互留下的一點筆記數組

什麼是cookie?
cookie 是存儲於客戶端的變量。當設備請求頁面時,就會發送cookie。
首先須要稍微瞭解一下cookie的結構,簡單地說:cookie是以鍵值對的形式保存的,即key=value的格式。各個cookie之間通常是以「;」分隔。
JS設置cookie:
document.cookie= key + '=' + value + ';expires=' + Date;
其中Date爲cookie的過時時間。
實際案例:cookie

//setCookie是一個設置Cookie的函數
//c_name參數設置key的值,value設置value的值,expiredays設置多少天后過時
function setCookie(c_name,value,expiredays){
    var exdate = new Date()
    exdate.setDate(exdate.getDate()+expiredays)
    //判斷c_name,value爲空時,expires=也爲空
    document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}

讀取cookie:函數

function getCookie(name){
    var arr=document.cookie.split('; ');
    for(var i=0;i<arr.length;i++){
        var arr2=arr[i].split('=');
        if(arr2[0]==name){
            return arr2[1];
        }
    }
    return '';
}

刪除cookie就直接在setCookie的基礎上,expiredays-1學習

function removeCookie(name){
    setCookie(name, 1, -1);
}

那麼在表單交互中如何在表單中保存cookie呢?,以下是一個表單:ui

<form id="form1" action="http://www.baidu.com/">
    用戶名:<input type="text" name="user" /><br>
    密碼:<input type="password" name="password" /><br>
    <input type="submit" value="登錄" />
</form> 

將填寫好的表單保存爲數組賦給cookie:spa

function onSubmit(){
        var finalRes = $(#form1 :input).serializeArray().reduce(function(result, item){
             result[item.name] = item.value;
            return result;
        }, {})

        // 保存cookie
        var oDate = new Date();
        //設置過時時間爲14天后
        oDate.setDate(oDate.getDate()+14);
        for (x in finalRes) {
            document.cookie = x+'='+ finalRes[x]+';expires='+oDate ;
        }
}


關於表單交互詳細能夠看一下推酷的這篇文章:code

由form表單來講說先後臺數據之間的交互orm

相關文章
相關標籤/搜索