这是我的代码,基本上我有一个用 jQuery 编写的通用 open_modal 函数,我想使用 data-fields
传递 {'json':'data'}
.
这是我的代码。
HTML
<a href="#" class="send_request" data-dataset="{'test':1}" data-url="/test.html">Data load!</a>
<div id="area"></div>
jQuery
$("body").delegate(".send_request", 'click', function(e) {
var $this = $(this);
var $modal_data = $("#area");
var $url = $this.attr('data-url');
var $dataset = JSON.stringify($this.data('dataset'));
alert($dataset);
$("#area").load($url,$dataset);
return false;
});
基本上它不起作用,数据没有被传递。 data-field 数据是否需要先解析?
最佳答案
data-dataset 中的对象在检索时已经是一个 JSON 对象,并且在指定 JSON 属性名称时需要双引号。执行以下操作应该有效:
在您的 html 代码段中:
data-dataset="{'test':1}"
到 data-dataset='{"test":1}'
在你的 JS 代码中
var $dataset = JSON.stringify($this.data('dataset'));
到 var $dataset = $this.data('dataset');
这是你的 jsfiddle 的修改版本 http://jsfiddle.net/C3Cbe/2/ .
希望对你有帮助
关于jquery - 使用数据字段存储 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13565428/