【发布时间】:2020-10-20 13:17:54
【问题描述】:
我有两个 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!!!
【问题讨论】:
-
您只能在 AJAX 请求完成后从存储中读取值
-
谢谢,有什么办法可以解决这个问题吗?
-
请添加php和jquery标签
-
$.post()返回一个延迟/类似承诺的对象。在请求完成后使用它来链接要运行的东西。例如const myPagePromise = $.post(...)然后在你的其他文件中myPagePromise.then(() => var my_data_kind = ... ) -
菲尔,非常感谢,它对我有用,我的问题已经解决了。
标签: javascript jquery ajax session-storage