【发布时间】:2018-04-15 23:19:19
【问题描述】:
当用户的回答正确时,我想在 .done 方法中设置一个本地存储。然后我想get 那个本地存储对象并在done 方法之外使用它。这怎么可能?以下是我正在尝试但没有成功的方法。
data.color 是一个字符串
$.ajax({
type: "POST",
url: "validation.php",
dataType: "json",
data: $("input").serialize(),
}).done(function(data) {
if (data.answer) { //if answer is correct
localStorage.setItem("ColorStorage", data.color); //set a local storage with the variable data.color
}
});
//outside of ajax
if (localStorage.getItem("ColorStorage") > 1)
$("#result").append(localStorage.getItem("ColorStorage"));
【问题讨论】:
-
你哪里出了问题?设置还是获取?要检查它,您可以将
debugger;s 放在您的设置之前并获取并调试它吗? -
可以在窗口中的任何位置获取 locaStorage 的值,因为它是窗口本身的一个对象,即使在关闭浏览器后也会保留您的数据。
-
data.color 是数字字段吗
-
如果 data.color 是字符串 localStorage.getItem("ColorStorage") > 1 是无效状态。所以从语句中删除 >1
标签: javascript jquery local-storage web-storage