简体   繁体   English

会话存储在js中

[英]Session Storage in js

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. 嗨,我是JavaScript的初学者,我想询问是否可以对从服务器获取的数据进行会话。 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. 我想要会话的数据是'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);

    }
    });
});

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 success function, 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 sessionStorage check 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

Try reading this article about session storage on mozilla.org , it shows how straightforward it is. 尝试阅读关于mozilla.org上的会话存储的这篇文章,它展示了它是多么简单。 In your case it should be as simple as: 在你的情况下,它应该是这样简单:

$('#file-upload').dropzone({
  maxFiles: 1,
  acceptedFiles: ".pdf,.doc,.docx,.html", 
  dataType: "json",
  success : function(data) {
      sessionStorage.setItem('xhr', data.xhr.response);
  }
});

In your case you can either to choose sessionStorage or localStorage. 在您的情况下,您可以选择sessionStorage或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不会到期(当浏览器选项卡关闭时数据丢失)。

So the steps are: 所以步骤是:

  1. Check your browser to see if it supports webStorage: 检查浏览器以查看它是否支持webStorage:

     if (typeof(Storage) !== "undefined") { // Code for localStorage/sessionStorage. } else { // Sorry! No Web Storage support.. } 
  2. Implement localStorage: 实现localStorage:

     localStorage.setItem("lastname", "Smith"); // save data var user = localStorage.getItem("lastname"); // get data localStorage.removeItem("lastname"); // remove data 
  3. Implement sessionStorage: 实现sessionStorage:

     sessionStorage.setItem('lastname', 'Smith'); // save data var user = sessionStorage.getItem('lastname'); // get data sessionStorage.removeItem('dataStored'); // remove data 

Hope it helps! 希望能帮助到你!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM