我被困在脚本中,不确定如何在我设置的div中打印它。我想这与我处理响应的方式有关。chrome devtools中的响应如下所示:
{
"[\"record one\", \"/description\"]": 0
}
我尝试使用两者和map来迭代数据,但到目前为止没有任何进展。我是js和jquery的新手,因此该脚本主要来自阅读和示例。
也许某种嵌套循环?这是我的代码-
$(function() {
return $('#myslider').slider({
range: true,
min: 0,
max: 20,
values: [1, 20],
stop: function(event, ui) {
var max, min;
min = ui.values[0];
max = ui.values[1];
$('#range').text(min + ' - ' + max);
$.ajax({
url: '/dir_scan',
type: 'get',
data: {
min: min,
max: max
},
dataType: 'json',
success: function(response) {
var albums;
albums = response;
$.each(albums, function(index, obj) {
var albumname, artist, li_tag;
li_tag = '';
albumname = obj.AlbumName;
artist = obj.Artist;
li_tag += '<li>Artist: ' + artist + ', Album: ' + albumname + '</li>';
$('#result').append($(li_tag));
return console.log;
});
}
});
}
});
});
这是这种情况下迭代的工作方式。代码注释-
success: function(response) {
var albums;
// side issue - but I had to clear the div to get a complete refresh
$('#result').empty();
albums = response;
$.each(albums, function(key, value) {
var albumname, li_tag, path;
li_tag = '';
// I found I had to do this parseJSON call otherwise
// I had no correct key/value pair, even though I had set dataType
// to JSON
albumname = jQuery.parseJSON(key);
path = albumname[1];
li_tag += '<li ><a href=/album' + encodeURI(albumname[1]) + '>' + albumname[0] + '</a href></li>';
$('#result').append($(li_tag));
return console.log;
});
实际上,value
在代码中只是索引号,但是我将实际的键/值对用逗号分隔,因此parseJSON似乎是唯一的工作方式。尽管尝试了split和substr之类的方法,但这仍然可行。希望我的答案是明确的,如果我不能编辑。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句