繁体   English   中英

会话存储在js中

[英]Session Storage in js

嗨,我是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);

    }
    });
});

会话存储与本地存储相同,但唯一的区别是会话存储中存储的数据将在页面会话到期后自动清除。

现在回答你的问题。 在您的success函数中,请执行以下操作以存储数据:

success : function(data) {
    console.log(data.xhr.response);
    sessionStorage.setItem('dataStored', data.xhr.response);

}

用法如下:

// 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();

有关sessionStorage更多信息,请访问以下链接: https//developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage

尝试阅读关于mozilla.org上的会话存储的这篇文章,它展示了它是多么简单。 在你的情况下,它应该是这样简单:

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

在您的情况下,您可以选择sessionStorage或localStorage。 两者都可以在浏览器中保存数据响应。 区别仅在于sessionStorage存储一个会话的数据时localStorage不会到期(当浏览器选项卡关闭时数据丢失)。

所以步骤是:

  1. 检查浏览器以查看它是否支持webStorage:

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

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

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

希望能帮助到你!

暂无
暂无

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

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