当用户点击.play时,如果它没有播放类,则应该添加一个播放计数然后添加类.alreadyplayed我是AJAX的新手并且似乎无法使其工作。
$(".play").on('click', function () {
if (!$(this).hasClass('alreadyplayed')) {
$.ajax({
type:'post',
url:'addplay.php',
data: songid = $(this).attr('sound_id'),
}).done {
$(this).addClass('alreadyplayed');
}
});
答案 0 :(得分:2)
似乎问题出在data: songid = $(this).attr('sound_id'),
& done
功能
您必须将其作为对象传递
data: { songid : $(this).attr('sound_id')} // Note curly braces
.done是一个回调函数
.done(function(response){
//rest of code
}
您可以尝试使用此代码段
$(".play").on('click', function (event) {
if (!$(this).hasClass('alreadyplayed')) {
$.ajax({
type:'post',
url:'addplay.php',
data: {songid = $(this).attr('sound_id')},
}).done(function(response){ //End of ajax & start of done
$(this).addClass('alreadyplayed');
}) // end of done
} // end of if loop
}); // end of click
答案 1 :(得分:0)
我让它以这种方式工作,最终当我弄清楚时,我将使它发布数据v.s. ?songid = get方法我会补充说,只是有人知道addplay页面无法使播放助推器变得简单,但现在它的效果很好。
$(".play").on('click', function () {
var soundid = $(this).attr('soundid');
var thisplay = $(this);
if (!$(this).hasClass('alreadyplayed')) {
$.ajax({
type:'post',
data: $(this),
url:'addplay.php?songid=' + soundid,
});
}
thisplay.addClass('alreadyplayed');
});