会话存储值为空,而我在另一个 JS 文件中为此会话存储赋予了值
session storage value is null while I have given a value to this session storage in another JS file
我有两个 JS 文件,在第一个文件中,我使用 ajax 初始化会话存储,所以我想在我的另一个 JS 文件中使用这个会话存储值。但问题是,当我之前在第一个初始化 JS 文件中设置它时,另一个文件中的会话存储没有任何价值。
我的示例代码如下:
JS文件1(初始化必须先运行的JS文件):
$.post(
"mypage.php",
{
},function(data) {
sessionStorage.setItem("data_kind", data.kind);
}, 'json'
);
js 文件 2 及其他(将使用已在 JS 文件 1 中初始化的 data_kind):
var my_data_kind = sessionStorage.getItem("data_kind");
console.log(my_data_kind); // it returns null and dont get any value!!!
首先你要确保你的sessionStorage.setItem("data_kind", data.kind)
已经执行了并且确保你有正确的或者导入js文件的顺序
对我来说,当我调试我的代码时,我通常会写 console.log('execute blabla', data) 来让自己相信我那一行的代码是 运行 并加载到正确的顺序。另外,不要忘记在功能完成后删除 console.log
并且,关闭 tab/window 清除 sessionStorage 中的对象,如此处记录https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
您只能在 AJAX 请求完成后才能从存储中读取值。
$.post()
returns 延迟/promise-like 对象。在请求完成后,使用它来将某些内容链接到 运行。
例如,假设您的两个 JS 文件包含在此订单中
<script src="the-one-that-does-the-ajax-request.js"></script>
<script src="the-one-that-reads-from-session-storage.js"></script>
// the-one-that-does-the-ajax-request.js
const myPagePromise = $.post("mypage.php", {}, data => {
sessionStorage.setItem("data_kind", data.kind);
}, "json")
// the-one-that-reads-from-session-storage.js
myPagePromise.then(() => {
var my_data_kind = sessionStorage.getItem("data_kind")
console.log(my_data_kind)
})
我有两个 JS 文件,在第一个文件中,我使用 ajax 初始化会话存储,所以我想在我的另一个 JS 文件中使用这个会话存储值。但问题是,当我之前在第一个初始化 JS 文件中设置它时,另一个文件中的会话存储没有任何价值。 我的示例代码如下:
JS文件1(初始化必须先运行的JS文件):
$.post(
"mypage.php",
{
},function(data) {
sessionStorage.setItem("data_kind", data.kind);
}, 'json'
);
js 文件 2 及其他(将使用已在 JS 文件 1 中初始化的 data_kind):
var my_data_kind = sessionStorage.getItem("data_kind");
console.log(my_data_kind); // it returns null and dont get any value!!!
首先你要确保你的sessionStorage.setItem("data_kind", data.kind)
已经执行了并且确保你有正确的或者导入js文件的顺序
对我来说,当我调试我的代码时,我通常会写 console.log('execute blabla', data) 来让自己相信我那一行的代码是 运行 并加载到正确的顺序。另外,不要忘记在功能完成后删除 console.log
并且,关闭 tab/window 清除 sessionStorage 中的对象,如此处记录https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
您只能在 AJAX 请求完成后才能从存储中读取值。
$.post()
returns 延迟/promise-like 对象。在请求完成后,使用它来将某些内容链接到 运行。
例如,假设您的两个 JS 文件包含在此订单中
<script src="the-one-that-does-the-ajax-request.js"></script>
<script src="the-one-that-reads-from-session-storage.js"></script>
// the-one-that-does-the-ajax-request.js
const myPagePromise = $.post("mypage.php", {}, data => {
sessionStorage.setItem("data_kind", data.kind);
}, "json")
// the-one-that-reads-from-session-storage.js
myPagePromise.then(() => {
var my_data_kind = sessionStorage.getItem("data_kind")
console.log(my_data_kind)
})