【发布时间】:2020-05-19 18:26:51
【问题描述】:
我有一个网站从外部 API 获取数据。我想将 API 中的所有数据保存在会话存储中(不仅是一个对象,而且是获取请求的整个结果)。 我能够做到这一点,但是当我重新加载页面时我无法重用数据。数据已存储,但函数无法使用。
if (sessionStorage.getItem("data") == null) {
fetch('XXX')
.then(function(resp) { return resp.json() })
.then(function(data) {
APIresults(data);
sessionStorage.setItem("data", JSON.stringify(data))
})
.catch(function() {
});
}
// This first part seems to works - now second part when user already have data in sessionstorage
else if (sessionStorage.getItem("data") != null) {
let data = sessionStorage.getItem("data");
function workingresults (data) {
APIresults(data);
};
}
}
谢谢!
【问题讨论】:
-
那是因为会话存储中的数据存储为字符串。在从存储中读取它之后执行
JSON.parse(data),您将能够将其作为对象访问。
标签: javascript fetch session-storage