js怎么把id存到浏览器本地
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js怎么把id存到浏览器本地相关的知识,希望对你有一定的参考价值。
js把id存到浏览器本地的方法:浏览器的cookie可以用来存储一些少量的网站信息,比如登录的用户名,用于提高用户体验非常有帮助有的一些网站在第一次登录后,在指定的时间范围内容,下次在打开网站,再次登录时,不用每次都重新输入用户名的
或在做一些购物车效果时,也可以使用cookie,保持一个状态持续多长时间的
具体示例代码
代码如下所示,以Vue为示例
<template><div class="wrap"><div class="content"><el-form ref="form" :model="form" label-width="100px"><el-form-item label="用户名"><el-input v-model="form.name" class="input" clearable></el-input></el-form-item><el-form-item label="密码"><el-input type="password" class="input" v-model="form.pass" clearable></el-input></el-form-item><el-form-item label="记住用户名"><el-radio-group v-model="form.date" size="mini" @change="handleCheck" class="el-radio-group"><el-radio :label="3" border>保存3天</el-radio><el-radio :label="7" border>保存7天</el-radio><el-radio :label="10" border>保存10天</el-radio><el-radio :label="30" border>保存30天</el-radio></el-radio-group></el-form-item><el-form-item class="login"><el-button type="primary" @click="onLogin">登录</el-button></el-form-item></el-form></div></div>
</template>
<script> export default data() return form: name: '',pass: '',date: 7,,mounted() this.getCookie('username');console.log(this.form.name);,methods: handleCheck(val) console.log(val);this.form.date = val;// 多少天以后失效,这里默认设置的是7天,需要转化成时间戳秒,// 设置cookie,包括key名,value,值,过期时间expiredayssetCookie(user,val,expiredays) // 把用户名保存进cookie里面document.cookie = `$user=$val`var exdate = new Date(); // 当前时间exdate.setTime(exdate.getDate() + expiredays*24*3600*1000);// 设置时间,多少天失效// 设置为新的值document.cookie += `;'expires='$exdate.toGMTString()`; // 根据格林威治时间 (GMT) 把 Date 对象转换为字符串,并返回结果 console.log(document.cookie) , getCookie() // 提取当前的cookie let c = document.cookie; // 提取key为username的cookie值 if(c != '' && c.indexOf('username') > -1) var arr = c.split(';');// 以分号,将cookie进行拆分存到一个arr数组中for(var i = 0;i<arr.length;i++) // 遍历数组arr var key_val = arr[i].split("=");// 获取key和val if(key_val[0] == 'username') // 设置cookie的值到输入框this.form.name = key_val[1]; ,onLogin() const user = 'username'const name,date = this.form;if(name) this.setCookie(user,name,date); this.$message(message: `用户名的cookie已经设置成功,刷新页面时仍然是显示的,保存$date天时间`,type: 'success',duration: '5000');console.log('submit!'); else this.$message.error('用户名不能为空'),; </script>
<style> .wrap text-align: left;.content margin: 10px auto;display: flex;justify-content: center;.el-radio-group display:flex;justify-content: left;.login text-align: left; </style>
1
2
3
4
5
1
2
3
4
5
以上本示例中的源码,其中核心代码设置cookie如下所示
// 如果是在原生js里,需要写function,上面的是vue的代码,省略了function 的
function setCookie(user,val,expiredays) // 把用户名保存进cookie里面document.cookie = `$user=$val`var exdate = new Date(); // 当前时间exdate.setTime(exdate.getDate() + expiredays*24*3600*1000);// 设置时间,多少天失效// 设置为新的值document.cookie += `;'expires='$exdate.toGMTString()`; // 根据格林威治时间 (GMT) 把 Date 对象转换为字符串,并返回结果
1
2
3
1
2
3
设置cookie主要需要有cookie名,它是键值对的,还需要一个设置一个过期时间
使用document.cookie可以读取cookie,也可以重新设置cookie
而获取cookie,需要将从cookie中拿到指定的cookie,需要通过split,先拆,然后在获取指定的cookie值,重新在设置值的,更多的新手同学,可能就是卡在怎么去拆的,然后取到对应的值的,其实,代码也很简单
具体代码如下所示
function getCookie() // 提取当前的cookie let c = document.cookie; // 提取key为username的cookie值 if(c != '' && c.indexOf('username') > -1) var arr = c.split(';');// 以分号,将cookie进行拆分存到一个arr数组中for(var i = 0;i<arr.length;i++) // 遍历数组arr var key_val = arr[i].split("=");// 获取key和val if(key_val[0] == 'username') // 设置cookie的值到输入框this.form.name = key_val[1]; // 这里就是在重新赋值,将cookie获取到的val进行赋值
,
1
2
1
2
总结
cookie它是浏览器document下的属性,是一种机制,只是提供了一个接口给js脚本进行使用,通过添加cookie以及expires达到保存多少天的效果
cookie的用途比较多,可以与服务器端进行交互,cookie的值是会随着表单的提交发送到服务器的,所以它可以作为一些特殊的字段来使用的
比如:服务端的session就需要依赖cookie 参考技术A 右击页面,查看源文件,会出现一个TXT文本里面全是页面的代码,也包括了js代码,你可以把这个文本另存在本地,根据页面的类型可以保存为htm、html、aspx等文件。
一般web开发都会把js代码封装成一个文件,页面只是指向了js文件在服务器上的地址。打开页面源文件,找到那些js引用的地址(如果你懂代码的话),复制粘贴在浏览器中(如果是相对地址请加上域名),回车后你就可以获得这个js文件了。
之后就是把保存的页面文件中的js引用地址改成你保存之后的js地址了,可以写电脑上的绝对路径。比如 d:新建文件夹\1.js 参考技术B 浏览器的cookie可以用来存储一些少量的网站信息,比如登录的用户名,用于提高用户体验非常有帮助
有的一些网站在第一次登录后,在指定的时间范围内容,下次在打开网站,再次登录时,不用每次都重新输入用户名的
或在做一些购物车效果时,也可以使用cookie,保持一个状态持续多长时间的
python把字典存到redis怎么使用
参考技术A python把字典存到redis怎么使用先写个测试redis是否正常连接上
import redis
cache = redis.StrictRedis('172.20.0.227',6379)
存储字符串
key = "javaman_test"
value = "test_string_yy"
cachevalue = cache.get(key)
存储Dict对象,取出来为字符串
value = "id":1,"name":"sunxy"
cache.set(key,value,60)
cachevalue = cache.get(key)
print type(value),type(cachevalue)
这时使用eval()对获取的结果转换成dict
cachevalue = cache.get(key)
trans_value = eval(cachevalue)
print type(trans_value),trans_value.get("name")
如果不是一个dict,直接是一个对象呢?
之前用了django中的对象,来看一下
取出来仍然是字符串,如何把对象存进去呢
eval()只是将结果转换成字典,这个肯定不行,我们应该需要将对象存到redis中。
使用pickle模块,在存入到redis中时调用dumps函数,获取后调用loads函数
import pickleredis.set(key,pickle.dumps(xt_industry),180)
pickle.loads(result)本回答被提问者采纳
以上是关于js怎么把id存到浏览器本地的主要内容,如果未能解决你的问题,请参考以下文章