Javascript js中的会话存储
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/50458409/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Session Storage in js
提问by Best Jeanist
Hi i'm a beginner in JavaScript i would like to ask if its possible to session the data i'm getting from a server. The data i want to session is the 'data.xhr.response' i searched online that most people use the SessionStorage function but i'm not really sure how to go about it any suggestion would be appreciated.
嗨,我是 JavaScript 的初学者,我想问一下是否可以会话我从服务器获取的数据。我想要会话的数据是我在网上搜索的“data.xhr.response”,大多数人都使用 SessionStorage 功能,但我不确定如何去做,任何建议将不胜感激。
$(function()
{
Dropzone.autoDiscover = false;
$('#file-upload').dropzone({
maxFiles: 1,
acceptedFiles: ".pdf,.doc,.docx,.html",
dataType: "json",
success : function(data) {
console.log(data.xhr.response);
}
});
});
回答by Vikasdeep Singh
Session storage is same as local storage but the only difference is that data stored in session storage will clear automatically once page session will expire.
会话存储与本地存储相同,但唯一的区别是,一旦页面会话过期,会话存储中存储的数据将自动清除。
Now come to your question. In your successfunction, do like below to store data:
现在来回答你的问题。在您的success函数中,执行以下操作来存储数据:
success : function(data) {
console.log(data.xhr.response);
sessionStorage.setItem('dataStored', data.xhr.response);
}
Usage is like below:
用法如下:
// Save data to sessionStorage
sessionStorage.setItem('dataStored', data.xhr.response);
// Get saved data from sessionStorage
var data = sessionStorage.getItem('dataStored');
// Remove saved data from sessionStorage
sessionStorage.removeItem('dataStored');
// Remove all saved data from sessionStorage
sessionStorage.clear();
For more information about sessionStoragecheck this link : https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
有关sessionStorage检查此链接的更多信息:https: //developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
回答by leosteffen
Try reading this article about session storage on mozilla.org, it shows how straightforward it is. In your case it should be as simple as:
尝试在mozilla.org上阅读这篇关于会话存储的文章,它展示了它是多么简单。在您的情况下,它应该很简单:
$('#file-upload').dropzone({
maxFiles: 1,
acceptedFiles: ".pdf,.doc,.docx,.html",
dataType: "json",
success : function(data) {
sessionStorage.setItem('xhr', data.xhr.response);
}
});
回答by MattYao
In your case you can either to choose sessionStorage or localStorage. Both can save the data response for you in the browser. The difference is only the expiry that localStorage wont expire while sessionStorage stores data for one session (data is lost when the browser tab is closed).
在您的情况下,您可以选择 sessionStorage 或 localStorage。两者都可以在浏览器中为您保存数据响应。不同之处仅在于localStorage不会过期,而sessionStorage会存储一个会话的数据(关闭浏览器选项卡时数据会丢失)。
So the steps are:
所以步骤是:
Check your browser to see if it supports webStorage:
if (typeof(Storage) !== "undefined") { // Code for localStorage/sessionStorage. } else { // Sorry! No Web Storage support.. }Implement localStorage:
localStorage.setItem("lastname", "Smith"); // save data var user = localStorage.getItem("lastname"); // get data localStorage.removeItem("lastname"); // remove dataImplement sessionStorage:
sessionStorage.setItem('lastname', 'Smith'); // save data var user = sessionStorage.getItem('lastname'); // get data sessionStorage.removeItem('dataStored'); // remove data
检查您的浏览器是否支持 webStorage:
if (typeof(Storage) !== "undefined") { // Code for localStorage/sessionStorage. } else { // Sorry! No Web Storage support.. }实现本地存储:
localStorage.setItem("lastname", "Smith"); // save data var user = localStorage.getItem("lastname"); // get data localStorage.removeItem("lastname"); // remove data实现 sessionStorage:
sessionStorage.setItem('lastname', 'Smith'); // save data var user = sessionStorage.getItem('lastname'); // get data sessionStorage.removeItem('dataStored'); // remove data
Hope it helps!
希望能帮助到你!

