我正在使用 AJAX 从我的数据库中加载一些行,在所有数据中,最重要的是音频文件的路径,例如uploads/song.mp3
.
我通过数据清除内容 div,$('#content').html('');
然后循环(使用 jQuery.each) - 创建带有文本和<audio>
元素的容器,这些容器将歌曲路径加载到src
属性中。
问题是并不是所有的歌曲都能播放——在第一次加载时,有些会播放,有些不会;然后在下一个 AJAX 请求中,当我获取新数据并从中删除所有内容时#content
- 没有一个<audio>
元素播放歌曲。
这是一些代码:
$.ajax({
type: 'POST',
url: 'xxx.php',
data: {fr : fraza, ajax : true},
dataType: 'json'
}).success(function(retData) {
//console.log(retData);
$('#container').html('');
$.each(retData, function(index, value) {
var unos = value;
$('#glavni').append('<div class="pesma-item" id="pesma-id-'+ unos.id +'"><h2>' + unos.naziv + '</h2><img src="' + unos.note + '" alt="" /><div><p><pre>' + unos.temp + '</pre></p><br style="clear: both" /><audio controls preload="auto"><source src="' + unos.audio + '" type="audio/mpeg"></audio></div><br style="clear:both" /></div>');
$('#pesma-id-' + unos.id + ' audio')[0].load();
});
});
如何强制每个audio
元素重新加载文件,以便可以播放?