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

标签 javascript jquery json forms populate

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

这是我从本地存储回调并转回字符串的对象。

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 作为参数,然后给它一个字符串。

The basic form for using Populate is: $(selector).populate(JSON, options)

不要这样做:

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 ) )

关于Javascript 使用本地存储,回调对象并使用 Json 更改为字符串以在填充函数中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29161678/

相关文章:

javascript - Chart js donut 框阴影

JQuery 添加类。通过搜索具有相同类的所有元素

javascript - 根据 jQuery/JS 中的另一个选择显示更多选择

c# - json 反序列化导致 dotnet 核心应用程序中止 - 没有抛出异常

javascript - 创建 HTML 从 JSON 对象中选择

json - 使用 Erlang 中的 Jiffy 解码 JSON 属性名称以列出字符串而不是二进制字符串

javascript - 如何在 Firefox 中跟踪和调试 JavaScript 内存泄漏?

javascript - 在 where 子句中将强制转换列序列化为整数

javascript - 如何使用 Vuex/Vue 处理异步数据检索

javascript - 将 DOM 元素转换为 HTML 代码并显示在页面文本区域中?