Javascript 使用JSON在HTML数据属性中传递数据 已解决-请参阅本文下的最后一条评论。

Javascript 使用JSON在HTML数据属性中传递数据 已解决-请参阅本文下的最后一条评论。,javascript,json,Javascript,Json,我试图在一个隐藏变量中传递和检索JSON数据,但遇到了一个奇怪的情况。我一直在绞尽脑汁,到处寻找原因——我肯定这很愚蠢,但我想不出什么 第504行和第508行显示了正确的数据,但描述字段除外,该字段是唯一更改的字段,但第509行显示了_attachments下的附加对象,该对象在其他两行中不存在-为什么? 第509行-标题行描述文本与对象正文中的描述文本不同-正文描述是正确的。 日志取自chromium,但firefox也表现出同样的行为。 请参阅下面的代码和控制台日志 503 var pp =

我试图在一个隐藏变量中传递和检索JSON数据,但遇到了一个奇怪的情况。我一直在绞尽脑汁,到处寻找原因——我肯定这很愚蠢,但我想不出什么

第504行和第508行显示了正确的数据,但描述字段除外,该字段是唯一更改的字段,但第509行显示了_attachments下的附加对象,该对象在其他两行中不存在-为什么? 第509行-标题行描述文本与对象正文中的描述文本不同-正文描述是正确的。 日志取自chromium,但firefox也表现出同样的行为。 请参阅下面的代码和控制台日志

503 var pp = $("#new-event-page").find("input[name=event_data]").val();
504 console.log(pp);
505 // comment
506 var paramx = JSON.parse(pp);
507 //comment
508 console.log(JSON.stringify(paramx));
509 console.log(paramx);
手动格式化后,控制台日志的输出如下所示:

testa.js:504--{"name":"Untitled-1369464011",
               "description":"Previously aadded image - only this text is updated",
               "occurred":"2013-05-25",
               "group":"empty",
               "category":"empty",
               "_attachments":{"globe.png":{"content_type":"image/png",
                                            "digest":"md5d8ba0496f16bdf74d6310432abf2a530"}},
                "_id":"0C1CA0F4-2DF4-46F2-9D35-415674D6452A",
                "_rev":"5-1d108457b606cc4388160ca46ffefbbf"}
testa.js:508--{"name":"Untitled-1369464011",
               "description":"Previously aadded image - only this text is updated",
               "occurred":"2013-05-25",
               "group":"empty",
               "category":"empty",
               "_attachments":{"globe.png":{"content_type":"image/png",
               "digest":"md5-d8ba0496f16bdf74d6310432abf2a530"}},
               "_id":"0C1CA0F4-2DF4-46F2-9D35-415674D6452A",
               "_rev":"5-1d108457b606cc4388160ca46ffefbbf"}
testa.js:509--Object {name: "Untitled-1369464011", description: "Previously aadded image - only this text is updated", occurred: "2013-05-25", group: "empty", category: "empty"…}
    _attachments: Object
       globe.png: Object
          content_type: "image/png"
          __proto__: Object
       opAAAAAElFTkSuQmCC: Object
          content_type: undefined
          __proto__: Object
     __proto__: Object
     _id: "0C1CA0F4-2DF4-46F2-9D35-415674D6452A"
     _rev: "6-001ee0c89c5b9dbe2b06e5b926ad446d"
     category: "empty"
     description: "Previously aadded image - only this text is updated -pass 2"
     group: "empty"
     name: "Untitled-1369464011"
     occurred: "2013-05-25"
     __proto__: Object

嗯,我看不出FF 21中有错误:

给出:

我刚刚注意到504和508之间有一个小小的区别——md5 digest属性有一个额外的“-”,这增加了神秘性…刚刚注意到了其他一些东西-509中的_rev参数与504和508不同,这进一步增加了神秘性-rev参数应该只在记录写入数据库时更新…基于上面的代码示例,这种行为怎么可能呢?变量范围有什么我不理解的地方吗?忘记MD5的区别吧——这是一个剪切/粘贴问题解决了。我的问题是,假设firebug/chrome保存了对象状态的快照,但它没有保存对象的引用,就像在代码中一样。因此,如果对象稍后更新,则对象内容的调试器视图将更新为对象的最后状态。跟踪这些对象的唯一方法是逐步通过调试器并实时检查对象。我的缺点是——缺乏经验。对像我这样的新手来说,最后一点意见是:P——绕过变异对象的方法是执行console.logJSON.stringifyobj——这样快照才能正确维护……如果对象很小,它应该没有任何区别,这正是困扰我的地方