让一些JavaScript使用$.data
为对象分配值,然后使用JSON.stringify
。它在1.4.4(获得实际的JSON数据)中工作,但它在1.5.2+(空数据)中被破坏。
我做错了什么?
$document.ready {
var o;
o = {};
$(o).data("to","to@email.com");
$(o).data("from","from@email.com");
$(o).data("html","true");
$('#log').append(JSON.stringify(o));
};
<div id="log" class="line1"></div>
答案 0 :(得分:1)
您的jsfiddle没有包含JSON库。另外,你正在以错误的方式调用jQuery。
但是你不能这样定义它的任何理由:
o = {
"to":"to@email.com",
"from":"from@email.com",
"html":"true"
};
更新了工作小提琴:http://jsfiddle.net/Km4M4/8/
答案 1 :(得分:0)
$。data用于在任何html标记中存储“可编程属性”。这些值不是可序列化的。其他情况是您要序列化属性的对象(您的情况)。尝试做@Mrchief或下面的更多js
var o = {
a: 'some data',
b: 'more data'
};
o.foo = bar;
$('#div').text( JSON.stringify(o) );
在这种方法中看到没有必要使用引号,因为JSON.stringify会为你提供;)