Ic3*_*m4n 11 javascript cookies vue.js vuejs2
在vuejs中设置Cookie的最佳做法是什么?我使用SSR,所以我想我不能使用localStorage。
最好的方法是什么?
小智 11
您可以使用vue-cookie或vue-cookies npm软件包。您可以在创建的方法中设置cookie。
created() {
this.$cookie.set("keyName", keyValue, "expiring time")
}
Run Code Online (Sandbox Code Playgroud)
您也可以在计划javascript中执行此操作,而无需使用扩展名。
假设您要在xios POST响应中存储过期时间为24小时的令牌
axios.post('url', datatosend)
.then(function (response) {
if(response.status == 200){
let d = new Date();
d.setTime(d.getTime() + (1*24*60*60*1000));
let expires = "expires="+ d.toUTCString();
document.cookie = "Token=" + response.data.Token + ";" + expires + ";path=/";
}
})
.catch(function (error) {
console.log(error);
});
Run Code Online (Sandbox Code Playgroud)
使用:
<script src="https://unpkg.com/vue-cookies@1.5.12/vue-cookies.js"></script>
<script>
$cookies.set('cookie_name', 'cookie_value');
</script>
Run Code Online (Sandbox Code Playgroud)
我认为最简单、最干净的方法是:
import VueCookies from 'vue-cookies'
VueCookies.set('name' , name, "1h")
Run Code Online (Sandbox Code Playgroud)
如果您希望在 Vuex 中使用它们,可以将其添加到突变中。