前臺頁面中的Cookie存取刪除,以及Cookie的跨域問題
阿新 • • 發佈:2020-10-25
這周還是很忙,忙到只有今晚才有時間來寫點什麼東西!(其實下午在偷懶睡覺)
義正言辭的說,上回琢磨了後臺的cookie,那這次說下前臺的cookie吧。、
在前端的基礎應用中,常常會有互動傳值的部分。那麼在Js中的Cookie怎麼用呢,直接上程式碼比較好
function getCookie(key) { //由於cookie是通過一個分號+空格的形式串聯起來的,所以這裡需要先按分號空格截斷,變成 [name=Jack,pwd=123456,age=22]陣列型別; var arr1 = document.cookie.split("; ");for (var i = 0; i < arr1.length; i++) { //通過=截斷,把name=Jack截斷成[name,Jack]陣列; var arr2 = arr1[i].split("="); if (arr2[0] == key) { return decodeURI(arr2[1]); } } }
這個是 獲取Cookie的方法 , 先把它存下來,等下要用。(我才不會說這是我抄過來的方法)
var delCookie = function (name) { var exp = new Date(); exp.setTime(exp.getTime() - 1); //獲取cookie是否存在 var value = getCookie(name); if (value != null) { document.cookie = name + "=" + value + ";expires=" + exp.toUTCString(); } }
這個是 刪除Cookie的方法
好了,兩大方法已經寫作完畢。 那麼增刪改查中的“增”怎麼寫呢?
document.cookie='name=SevenWang'
直接用document中的cookie後面拼字串就可以。這簡直就是弱爆了,不過呢 還是得用。
那麼問題來了,過期時間和路徑等之類的怎麼設定?
document.cookie='name=SevenWang;expires={time};path=/'
你也看到了,直接;來進行相隔就可以,記得關鍵在於不要拼錯字串了呦、
那麼這麼寫是不是感覺有點點麻煩?
其實可以直接把上面的語句寫一個方法每次呼叫就行。但是,本著工匠精神,方法我就不給你寫了,自己封裝去吧,啊哈哈哈哈
(會不會某一天把自己坑到,小聲嗶嗶)