【发布时间】:2014-01-28 17:46:51
【问题描述】:
这太容易了,我在 2 天前就开始工作了,但现在我不知道如何获得一些值。我认为我的主要问题是我不知道在循环数组时何时使用 []。
希望有人能指出我的问题;
jquery 后置脚本;
var mydata = JSON.stringify(desktopicons);
$.post(themeUrl + '/modules/module-save-desktop.php', {
data: desktopicons
}).error(function() {
$('#desktop').append('<div id="jsoninfo">Failed to save desktop.</div>');
}).complete( function() {
$('#desktop').append('<div id="jsoninfo">Desktop for ' + username + ' saved succesfully.</div>');
});
json 文件;
[{\"myicons\":[{\"icon\":[{\"rel\":\"#\",\"id\":\"icon1\",\"class\":\"bookmark desktop-icon ui-draggable\",\"title\":\"bookmark\"}]},{\"icon\":[{\"rel\":\"#1\",\"id\":\"icon2\",\"class\":\"bookmark desktop-icon ui-draggable\",\"title\":\"bookmark1\"}]}]}]
jQuery 获取 json;
$.ajax({
type: 'GET',
url: userDesktopJson,
async: false,
dataType: 'json',
success: function(data){
var jsondata = $.parseJSON(data);
$('#desktop').append('<div id="jsoninfo">Data loaded.</div>');
var myicons = jsondata['myicons'];
$.each(myicons, function() {
alert('found!');
});
},
error: function() {
$('#desktop').append('<div id="jsoninfo">Failed to load desktop.</div>');
}
});
它正在加载文件,但我似乎无法从中获取值。
编辑
好的,现在我无法从每个函数内的图标中获取 ID 或标题或其他任何内容,我不明白
$.each(myicons, function() {
var iconid = this.id;
var rel = this.rel;
var title = this.title;
var iconclass = this.class;
$('<div />', {
'id': iconid,
}).addClass(iconclass).attr('rel', rel).appendTo('#desktop');
$('<div />', {
class: 'icon-title desktop-icon-title'
}).text(title).appendTo(iconid);
});
【问题讨论】:
-
从 json 中删除
'\',同时检查你的控制台 -
我要删除哪些?
-
现在是这样,但现在仍在工作.. [{"myicons":[{"icon":[{"rel":"#","id":"icon1","class ":"bookmark desktop-icon ui-draggable","title":"bookmark"}]},{"icon":[{"rel":"#","id":"icon2","class": "bookmark desktop-icon ui-draggable","title":"bookmark"}]}]}]
-
去掉
var jsondata = $.parseJSON(data);因为你已经加了dataType:'json'不用再解析了 -
我得到了这个工作,但我仍然无法从中获得价值 var myicons = jsondata['myicons'];
标签: jquery ajax arrays json loops