[英]Ajax request to php only works once per pageload
我已经在这里看到了其中一些问题,但没有一个对我有用。 我有一个收藏夹按钮,我希望我的用户按此按钮可以收藏夹东西。 Ajax请求工作正常,并且收藏夹被存储在数据库中,但是我只能使用一次,然后必须刷新页面才能收藏/取消收藏该项目。 该按钮的代码是:
<div id="fav-icon">
<?php
// Function checks if user has fav'd the item.
$isFav = favourite($user->id) ? 'un-fav' : 'fav';
?>
<i id="<?php echo $item->id; ?>" class="<?php echo $isFav; ?>"><span class="font-12 fa fa-heart"></span></i>
</div>
jQuery /阿贾克斯
$('.fav').click(function(e){
var con = $(this).attr('id');
$.ajax({
url: 'fav.php',
type: 'POST',
async: true,
data:{
'fav' : con
},
success:function(){
$('#fav-icon').load(document.URL + ' #fav-icon');
}
});
});
$('.un-fav').click(function(e){
var con = $(this).attr('id');
$.ajax({
url: 'fav.php',
type: 'POST',
async: true,
data:{
'fav' : con
},
success:function(){
$('#fav-icon').load(document.URL + ' #fav-icon');
}
});
});
所以这有效,但只有一次! 我尝试了几种不同的功能来尝试完成这项工作,包括:
$('.fav').live('click', function(e) {
谁能告诉我我要去哪里错以及使按钮多次起作用的正确方法?
使用$(document).on()
单击事件
$(document).on('click','.fav', function(e) {
...
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.