我在第一个文件中导入了index.php和index.js文件。从index.js我调用index.php中的一个函数,该函数使用一些字符串设置localStorage.some_item。在同一个文件index.js中,在我调用设置在本地存储中的函数之后,我试图从localStorage.some_item的相同索引获取,但是我得到了未定义!
这是因为写入本地存储需要一些时间,而且无法立即读取它?我尝试推迟,阅读它,但得到了相同的结果。也许由于某种原因,脚本是异步运行的,即使它们不应该......这可能是什么问题?我可以尝试不同的方法来解决它,但我想了解发生了什么。
有没有人遇到过此行为或可以提供帮助? 谢谢
在index.js中:
setDataInLS();
var sSomeData = localStorage.getItem('some_data');
console.log("localStorage.some_data = ",sSomeData);
在index.php中:
function setDataInLS(){
$.getJSON("getSomeData.php",function(jData){
console.log(jData);
var sData = JSON.stringify(jData);
localStorage.setItem('some_data', sData);
});
}
答案 0 :(得分:0)
在@ Bergi的帮助下,我设法找到了解决方案。等待$ .getJSON并设置为本地存储,直到我从本地存储读取数据。非常感谢你!
对于沮丧的选民,有时候因为疲倦而无法看清楚什么是显而易见的......