繁体   English   中英

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

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

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

这是我的对象,从本地存储中调用回去,并变成一个字符串。

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

myStringSave将包含例如:名称:“ Joe”,dateBirth:“ 01/02/1992”,这与我的硬编码完全相同。 但是硬编码的作品

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

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

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

要么

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

我已经看了几个小时,这没有任何意义。 该字符串与我的硬编码完全相同,所以为什么不起作用? 谢谢您的任何帮助,不胜感激。

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

使用Populate的基本形式是:$(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 ) )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM