首页 > 代码库 > JS设置读取删除cookie及表单交互
JS设置读取删除cookie及表单交互
学习cookie和表单交互留下的一点笔记
什么是cookie?
cookie 是存储于客户端的变量。当设备请求页面时,就会发送cookie。
首先需要稍微了解一下cookie的结构,简单地说:cookie是以键值对的形式保存的,即key=value的格式。各个cookie之间一般是以“;”分隔。
JS设置cookie:
document.cookie= key + ‘=‘ + value + ‘;expires=‘ + Date;
其中Date为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呢?,如下是一个表单:
<form id="form1" action="http://www.baidu.com/">
用户名:<input type="text" name="user" /><br>
密码:<input type="password" name="password" /><br>
<input type="submit" value="http://www.mamicode.com/登陆" />
</form>
将填写好的表单保存为数组赋给cookie:
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 ; } }
关于表单交互详细可以看一下推酷的这篇文章:
由form表单来说说前后台数据之间的交互
JS设置读取删除cookie及表单交互
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。