我想在 HTML5 本地存储中存储一个 JavaScript 对象。
sessionStorage.setItem("localObj",this);
我在函数中使用上述语句。对象包含 HTML 标记。我既不能将其转换为字符串也不能转换为 JSON。我该如何进行?
我想在 HTML5 本地存储中存储一个 JavaScript 对象。
sessionStorage.setItem("localObj",this);
我在函数中使用上述语句。对象包含 HTML 标记。我既不能将其转换为字符串也不能转换为 JSON。我该如何进行?
您必须先将对象转换为 json,然后存储在本地存储中。当你想重用存储的数据时,你必须将 json 字符串反序列化为 javascript 对象,它会正常工作。
function setValue() {
var obj = new user();
var jsonObject = JSON.stringify(obj);
sessionStorage.setItem("Gupta", jsonObject);
getValue();
}
function user() {
this.Name = "rahul";
this.Age = 20;
}
function getValue() {
var json_string = sessionStorage.getItem("Gupta");
var obj = JSON.parse(json_string)
alert("Name = "+obj.Name + ", Age = " + obj.Age);
}
本地存储只会存储字符串。如果你不能对你的对象进行字符串表示,那么你就不能存储它。
本地存储在设计时考虑了字符串/值对,因此您将很难尝试“按原样”存储对象。您要么需要对其进行“字符串化”,要么需要查看其他内容。这个早先问题的答案应该有助于: