Javascript使用本地存储,回调对象并用Json更改为一个字符串以用于填充函数

Javascript Using Local Storage, calling back the object and changing with Json to a string to use in a populate function

本文关键字:一个 函数 填充 用于 字符串 存储 回调 Javascript Json 对象      更新时间:2023-09-26

你好,我正在做一个表单,我使用了一个填充方法在jJQuery中填写了一个表单(是的,我知道jquery只是一个库)进行测试。现在,我使用Json和本地存储将数据保存在表单中。然后我回调本地存储中的对象,并使用Json将其转换回字符串。问题是,该字符串将与我硬编码到populate方法中的字符串完全相同,但当我放置字符串来替换它时(因此它总是使用当前表单保存的数据),它将无法正常工作。我想是小东西。

这是我的对象,从本地存储中调用并返回为字符串。

var myString = localStorage.getItem("all");
var myStringSave = JSON.stringify(myString); //my string

myStringSave将包含例如:姓名:"Joe",出生日期:"01/02/1992"这和我的硬编码完全一样。然而,硬编码作品

$('#frm').populate({Name:'Joe',dateBirth:'01/02/1992'})

但是字符串中的一个不起作用:

$('#frm').populate(myStringSave)

$('#frm').populate({myStringSave})

我已经看了几个小时了,它毫无意义。这个字符串和我的硬编码字符串完全一样,为什么它不起作用呢?非常感谢您的帮助。

populate接受一个JSON作为参数,并给它一个字符串。

使用Populate的基本形式是:$(selector).Populate(JSON,选项)

不要做:

var myString = localStorage.getItem("all"); // this IS a string (localStorage can't store anything else)
var myStringSave = JSON.stringify(myString); // you stringify a string

您可以使用取回JSON

myJsonSave = JSON.parse( localStorage.all )

那么$('#frm').populate(myJsonSave)应该工作。

你甚至可以在一行中完成所有操作:

$('#frm').populate( JSON.parse( localStorage.all ) )