将JSON存储在隐藏的输入元素中?

Ste*_*ger 4 html php json hidden-field

我需要能够生成有效数量无限的数据集,所以我想要做的就是这样;

<input type="hidden" name="items[]" value="{id:1,name:'some-name'}" />
Run Code Online (Sandbox Code Playgroud)

我尝试使用JSON.stringify在javascript中转换我的数组并将其存储在当前隐藏的输入元素中,但它将所有键和值包装在双引号中,这显然与HTML包含双引号中的整个值.不知怎的,我需要转义引号,但我需要这两种方式...基本上这些元素是用PHP生成的并按顺序放在页面中,然后我可以在用户端添加或删除项目并提交页面,应该让PHP迭代这些隐藏的元素并更新记录.

有人对某种逃避方法有任何建议吗?

Kam*_*zot 9

你可以使用这里提供的转义函数:http://phpjs.org/functions/htmlspecialchars:426

它应该在json中转义字符并使你的字符串安全地用作html属性的值.

如果你想在PHP上进行转义,那么你应该使用PHP内置的函数htmlspecialchars().