nodejs 保存html文件路径,nodejs如何将获得的数据保存到本地?
nodejs將獲得的數(shù)據(jù)保存到本地可以使用Cookie進(jìn)行數(shù)據(jù)保存或使用sessionStorage、localStorage進(jìn)行數(shù)據(jù)保存。
使用Cookie保存
Cookie這個恐怕是最常見也是用得最多的技術(shù)了,也是比較古老的技術(shù)了。
Cookie優(yōu)點(diǎn)很多,使用起來很方便 但它的缺點(diǎn)也很多: 比如說跨域訪問問題、不能保存過大的數(shù)據(jù)(最大4KB)、本地保存的數(shù)據(jù)會發(fā)送給服務(wù)器、浪費(fèi)帶寬等等。
示例代碼如下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: 是一種你不主動清除它,它會一直將存儲數(shù)據(jù)存儲在客戶端的存儲方式,即使你關(guān)閉了客戶端(瀏覽器),屬于本地持久層儲存。
sessionStorage: 用于本地存儲一個會話(session)中的數(shù)據(jù),一旦會話關(guān)閉,那么數(shù)據(jù)會消失,比如刷新。 有時候,我們需要將數(shù)據(jù)存儲到sessionStorage和localStorage中,這樣做的好處有:
1 、緩存數(shù)據(jù)
2 、減少對內(nèi)存的占用
但是,storage只能存儲字符串的數(shù)據(jù),對于JS中常用的數(shù)組或?qū)ο髤s不能直接存儲。 它能保存更大的數(shù)據(jù)(IE8上是10MB,Chrome是5MB),同時保存的數(shù)據(jù)不會再發(fā)送給服務(wù)器,避免帶寬浪費(fèi)。
localStorage存儲方法(sessionStorage類似)localStorage.name =’vanida;
localStorage[“name”]=’vanida’;
localStorage.setItem(“name”,”vanida”);
//這三種設(shè)置值方式是一樣的;
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只能存儲字符串,如果需要存儲對象,首先要轉(zhuǎn)換為字符串。利用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”));
下面是單個簡單的對象(數(shù)組類似)存貯,不考慮其他的多個的情況var obj = { name:'Jim' };
var str = JSON.stringify(obj);
//存入
sessionStorage.obj = str;
//讀取
str = sessionStorage.obj;
//重新轉(zhuǎn)換為對象
obj = JSON.parse(str);
總結(jié)
以上是生活随笔為你收集整理的nodejs 保存html文件路径,nodejs如何将获得的数据保存到本地?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dvldr32.exe进程有危险吗 dv
- 下一篇: java的方法调用中分不清_java中不