javascript - 在输入隐藏字段中存储返回 json 值

标签 javascript jquery json

我想知道是否可以将返回的 json 存储在隐藏的输入字段中。例如,这是我的 json 返回的内容:

[{"id":"15aea3fa","firstname":"John","lastname":"Doe"}]

我只想将 id 存储在隐藏字段中,以便稍后引用它来处理它。

示例:我有这样的事情:

<input id="HiddenForId" type="hidden" value="" />

并希望 jquery 稍后将值返回给我,如下所示:

var scheduletimeid = $('#HiddenForId').val();

最佳答案

虽然我已经看到建议的方法使用和工作,但我认为仅使用 JSON.stringify 设置隐藏字段的值会破坏 HTML...

在这里我将解释我的意思:

<input type="hidden" value="{"name":"John"}">

如您所见,开链括号后的第一个双引号可能会被某些浏览器解释为:

<input type="hidden" value="{" rubbish >

因此,为了更好地解决此问题,我建议使用 encodeURIComponent 函数。与 JSON.stringify 一起,我们应该拥有如下内容:

> encodeURIComponent(JSON.stringify({"name":"John"}))
> "%7B%22name%22%3A%22John%22%7D"

现在该值可以安全地存储在输入隐藏类型中,如下所示:

<input type="hidden" value="%7B%22name%22%3A%22John%22%7D">

或者(甚至更好)使用由脚本操作的 HTML 元素的 data- 属性,该脚本将使用数据,如下所示:

<div id="something" data-json="%7B%22name%22%3A%22John%22%7D"></div>

现在要读回数据,我们可以执行以下操作:

> var data = JSON.parse(decodeURIComponent(div.getAttribute("data-json")))
> console.log(data)
> Object {name: "John"}

关于javascript - 在输入隐藏字段中存储返回 json 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3448831/

相关文章:

javascript - jQuery 获取动态呈现的下拉列表的选定选项

javascript - 将javascript类方法定义为常量

javascript - 更改滚动时侧边栏的 <li> 颜色

json - 使用 1 个键将整个 JSON 数组解析为表

php - 无法使用 MobileSafari 将生成的 pkpass 添加到 iPhone

javascript - 未找到 Grunt 任务 (grunt-contrib-sass)

javascript - 从自定义 Shopify 应用将 JavaScript 添加到 Shopify 模板

java - 通过maven将.jar文件添加到类路径

Jquery -打印对话框区域::是否存在用于打印 jquery 对话框内容的插件?

javascript - 将自身值传递给函数