nodejs如何将获得的数据保存到本地?

更新日期: 2020-02-25阅读: 2.2k标签: 存储

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


使用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);

链接: https://www.fly63.com/article/detial/7691

js中cookie操作总结:cookie设置,读取,删除,判断是否存在

有时也用其复数形式 Cookies,指某些网站为了辨别用户身份,JavaScript对cookie的相关操作,设置cookie,读取cookie,删除cookie,判断cookie是否存在.......

HTML5新方法:前端存储localStorage的使用总汇

在HTML5中有一个localStorage的新特性,它主要用于本地存储使用,目的是为了解决了cookie存储空间小的问题。本文将讲解:localStorage特点、localStorage的兼容、localStorage的使用等

Token ,Cookie和Session的区别

在做接口测试时,经常会碰到请求参数为token的类型,但是可能大部分测试人员对token,cookie,session的区别还是一知半解

介绍web开发中实现会话跟踪的常用技术方法

由于http是无状态的协议,这种特性严重阻碍了客户端与服务器进行动态交互,为了弥补http的不足,目前实现会话跟踪的常用技术方法:cookie、session、url重写、隐藏input、ip地址。

关于网页本地存储的一些思考

localStorage 与 sessionStorage具体适用于什么样的业务场景?如何维护本地储存?如何进行版本控制?碰到禁止本地缓存的情况下怎么解决这个问题?

JS中原始值和引用值的储存方式

在ECMAscript中,变量可以存放两种类型的值,即原始值和引用值。原始变量及他们的值储存在栈中,当把一个原始变量传递给另一个原始变量时,是把一个栈房间的东西复制到另一个栈房间,且这两个原始变量互不影响。

前端数据保存_使用js开发数据库

前端很多时候还是需要保存一些数据的,这里的保存指的是长久的保存。以前的思想是把数据保存在cookie中,或者将key保存在cookie中,将其他数据保存在服务器上。想要一种能够长久的保存在本地的数据,类似数据库或者类似web sql。

Cookie防篡改机制_cookie怎么防止被篡改/伪造

因为Cookie是存储在客户端,用户可以随意修改。所以存在一定的安全隐患,服务器为每个Cookie项生成签名。如果用户篡改Cookie,则与签名无法对应上。以此,来判断数据是否被篡改。

在前后端分离的项目中,ajax跨域请求怎样附带cookie

后台保存用户信息通常使用的session和cookie结合的方法,而在前端的实际情况中,跨域产生的ajax是无法携带cookie信息的,这样导致了session和cookie的用户信息储存模式受到影响,该怎样去解决这样一个问题呢

localStorage设置过期时间

我们都知道localStorage不主动删除,永远不会销毁,那么如何设置localStorage的过期时间呢?使用场景: 1.利用本地数据,减少网络传输 ,2.弱网络环境下,高延迟,低带宽,尽量把数据本地化

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!