对于 lightGallery jQuery 插件,我想使用具有以下结构的 JSON 文件填充一个名为 DynamicEl 的变量:
{
"images":[
{
"src":"img/image1.jpg",
"subHtml":"<h4>subtext1</h4>"
},
{
"src":"img/image2.jpg",
"subHtml":"<h4>subtext2</h4>"
},
{
"src":"img/image3.jpg",
"subHtml":"<h4>subtext3</h4>"
}
]
}
为了避免 jQuery 函数 $.getJSON 的异步调用问题,我使用了以下代码:
var dummy = $.getJSON("js/gallery.json");
dummy.done(function(data) {
var dataArray = [];
$.each(data.images, function (index, value) {
dataArray.push(value.src);
dataArray.push(value.subHtml);
})
console.log("dataArray "+dataArray);
});
在 JS 控制台中,我可以看到这些对象的值,但我不能使用它们来填充名为 myImages 的全局变量。如果我尝试此变量将在控制台中显示 [object Object]。
我尝试使用 return(String(dataArray); 和 return(JSON.stringify(dataArray); 转换此对象;但没有成功。
最后但并非最不重要的一点是,我尝试了以下相同的错误结果
MyImages = [];
MyImages = dummy.done(function(data) {
var dataArray = [];
$.each(data.images, function (index, value) {
dataArray.push("\'src\'\:\ '"+value.src+"\',\'subHtml\'\: \'"+value.subHtml+"\'");
})
return(String(dataArray));
}));
console.log("myImages" +myImages);
});
作为最终结果,我需要一个包含这种格式的 src 和 htmlSub 值的数组
DynamicEl: [{'src': 'img/image1.jpg', 'subHtml': '<h4>subText1</h4>'},{{'src': 'img/image2.jpg', 'subHtml': '<h4>subText2</h4>'}]
我怎样才能实现这个目标?我不知道如何将“字符串”值从加载的 JSON 文件中获取到全局数组中。先感谢您。