我正在使用 .ajax 获取一些数据,然后将数据附加到 html 元素。现在,有两个音频帖子和数据正在被检索。但是发生了什么,下面代码中的方法是将两个帖子中的帖子数据附加到每个帖子中。比如说,帖子 A 有来自帖子 A 和 B 的数据。帖子 B 有来自帖子 A 和 B 的数据。我在导致这种情况的代码中遗漏了什么?
$('.audio.post').each(function() {
var audiopostID = $(this).attr('data-postID');
$(this).find('.standard-player').hide();
var audioPath = '/api/read/json?id=' + audiopostID;
$.ajax({
url: audioPath,
dataType: 'jsonp',
timeout: 5000,
success: function(data) {
audioSrc = data.posts[0]['audio-player'];
audioURL = decodeURIComponent(/audio_file=(.*)&color/.exec(audioSrc)[1]);
//console.log(audioURL);
$('.custom-player').append('<audio preload="none" controls>');
$('audio').append($('<source>').attr({
src: audioURL,
type: 'audio/mpeg'
}));
}
});
});
在控制台 ( http://cl.ly/O0pk ) 中查看元素时,每个帖子都有两个标签,<audio>
第一个<audio>
标签有两个<source>
标签。对于这里的松鼠描述,我深表歉意。只是想更好地理解 .ajax 的用法。