node 数据发送到html,nodejs如何将获得的数据保存到本地?

nodejs将获得的数据保存到本地可以使用Cookie进行数据保存或使用sessionStorage、localStorage进行数据保存。

c6d450fa4cd919d573ee95cb6f9a5881.png

使用Cookie保存

Cookie这个恐怕是最常见也是用得最多的技术了,也是比较古老的技术了。

Cookie优点很多,使用起来很方便 但它的缺点也很多: 比如说跨域访问问题、不能保存过大的数据(最大4KB)、本地保存的数据会发送给服务器、浪费带宽等等。

示例代码如下function SetCookie(name, value) {

var key = '';

var Days = 2;

var exp = new Date();

var domain = "";

exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);

if (key == null || key == "") {

document.cookie = name + "=" + encodeURI(value) + ";

expires=" + exp.toGMTString() + ";

path=/;domain=" + domain + ";";

} else {

var nameValue = GetCookie(name);

if (nameValue == "") {

document.cookie = name + "=" + key + "=" + encodeURI(value) + ";

expires=" + exp.toGMTString() + ";path=/;domain=" + domain + ";";

} else {

var keyValue = getCookie(name, key);

if (keyValue != "") {

nameValue = nameValue.replace(key + "=" + keyValue, key + "=" + encodeURI(value));

document.cookie = name + "=" + nameValue + ";

expires=" + exp.toGMTString() + ";path=/;domain=" + domain + ";";

} else {

document.cookie = name + "=" + nameValue + "&" + key + "=" + encodeURI(value) + ";

expires=" + exp.toGMTString() + ";path=/;" + domain + ";";

}

}

}

}

function GetCookie(name) {

var nameValue = "";

var key = "";

var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");

if (arr = document.cookie.match(reg)) {

nameValue = decodeURI(arr[2]);

}

if (key != null && key != "") {

reg = new RegExp("(^| |&)" + key + "=([^(;|&|=)]*)(&|$)");

if (arr = nameValue.match(reg)) {

return decodeURI(arr[2]);

} else return "";

} else {

return nameValue;

}

}

使用sessionStorage、localStorage

localStorage: 是一种你不主动清除它,它会一直将存储数据存储在客户端的存储方式,即使你关闭了客户端(浏览器),属于本地持久层储存。

sessionStorage: 用于本地存储一个会话(session)中的数据,一旦会话关闭,那么数据会消失,比如刷新。 有时候,我们需要将数据存储到sessionStorage和localStorage中,这样做的好处有:

1 、缓存数据

2 、减少对内存的占用

但是,storage只能存储字符串的数据,对于JS中常用的数组或对象却不能直接存储。 它能保存更大的数据(IE8上是10MB,Chrome是5MB),同时保存的数据不会再发送给服务器,避免带宽浪费。

localStorage存储方法(sessionStorage类似)localStorage.name =’vanida;

localStorage[“name”]=’vanida’;

localStorage.setItem(“name”,”vanida”);

//这三种设置值方式是一样的;

localStorage获取值方法var name = localStorage[“name”]

var name= localStorage.name

var name= localStorage.getItem(“name”);

//这三种获取值方式是一样的;

localStorage清除特定值方法//清除name的值

localStorage.removeItem(“name”);

localStorage.name=”

localStorage清除所有值方法localStorage.clear()

localStorage只能存储字符串,如果需要存储对象,首先要转换为字符串。利用JSON.stringify();var person = {name:”vanida”,”sexs”:”girl”,”age”:25};

localStorage.setItem(“person”,JSON.stringify(person));

// localStorage.person=”{“name”:”vanida”,”sexs”:”girl”,”age”:25}”

注意:JSON.stringify()中不要忘了“i”,stringify而不是stringfy!

然后取出person的对象你可以用JSON.parse();person = JSON.parse(localStorage.getItem(“person”));

下面是单个简单的对象(数组类似)存贮,不考虑其他的多个的情况var obj = { name:'Jim' };

var str = JSON.stringify(obj);

//存入

sessionStorage.obj = str;

//读取

str = sessionStorage.obj;

//重新转换为对象

obj = JSON.parse(str);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值