以下是一些我遇到麻烦的代码。基本上,我将一个空数组定义为全局变量(var playlist = []),然后尝试在jQuery $ .get调用中向其中添加元素。根据我在互联网上阅读的内容,我应该能够做到这一点!下面的代码给出了错误:“无法调用未定义的方法'play'。确实在函数中设置了playlist [0],在$ .get调用中提醒playlist [0]给出了预期的结果,但它不会在函数外部持续存在。
var playlist = [];
function playArtist(artist){
$.get('media/songs/' + artist,
function(data){
for (var i in data){
playlist[i] = setSong(data[i].Resource.name,'track' + data[i].Media.id,i + 1);
}
$('#track-total').text(parseInt(playlist.length));
},'json'
);
playlist[0].play();
}
有人可以帮忙吗?
谢谢!
最佳答案
很有可能,在playlist
返回之前就使用了$.get
-因为ajax调用是异步的。它在成功回调中起作用,因为一旦请求完成,它将被触发,因此它将包含您期望的数据。